A Coq Library for the Theory of Relational Calculus
1. .
.
.
A Coq Library for the Theory of Relational Calculus
Yoshihiro Mizoguchi
Institute of Mathematics for Industry
Kyushu University, JAPAN
Workshop on Formalization of Applied Mathematical Systems
University of Hawaii
October 1st, 2015
Join work with Toshiaki Matsushima, Hisaharu Tanaka and Shuichi Inokuchi.
http://www.slideshare.net/yoshihiromizoguchi/a-coq-library-for-the-theory-of-relational-calculus
Y.Mizoguchi () Relational Calculus in Coq 2015/10/01 1 / 31
2. Table of Contents
. .
1 Introduction
. .
2 From Algebra to Category
Boolean algebra
Relation algebra
Category of Relations
. .
3 Coq Library for Relational Calculus
Implementation of Dedekind category
Relational representation of proper-
ties of maps
Benefits of relational calculus
Automated proving (Tactic)
4 Conclusion
Conclusion and future works
5 References
Y.Mizoguchi () Relational Calculus in Coq 2015/10/01 2 / 31
3. Introduction
There are many network structures (relations between certain
objects) considered in applications of mathematics in other sciences.
We use many calculations of numbers and equations of numbers in
mathematical analysis in application areas.
We seldom do calculations in mathematical analysis of network
structures or equations of structures.
A sufficiently developed theory of relations has been existing for a
long while.
Managing calculations of relations, we reexamine properties of
network structures.
It is also intended to construct a theory of relations with computer
verifiable proofs.
Y.Mizoguchi () Relational Calculus in Coq 2015/10/01 3 / 31
4. Historical Background
The modern story of an algebra of logic is started by G. Boole (1847).
Complement, Converse (Inverse) and Composition of relations.
(De Morgen 1864)
To create an algebra out of logic. (C. S. Peirce 1870)
Axiomatization of a relation algebra and its Representability.
(Tarski 1941, R.Lyndon 1950, McKenzie 1966)
Relations in categories.
(S. MacLane 1961, D. Puppe 1962, Y. Kawahara 1973)
Algebra to Category (Homogeneous to heterogeneous)
Allegories(Freyd 1990), Dedekind category (Oliver 1980).
Axiomatization of Dedekind category with point axioms
(H. Furusawa 2015)
† R. D. Maddux, The origin of relation algebras in the development and
axiomaization of the calculus of relations, 1991.
† R. Hirsh, I. Hodkinson, Relation algebras by games, 2002.
† G. Schmidt, Relational Mathematics, 2010.
Y.Mizoguchi () Relational Calculus in Coq 2015/10/01 4 / 31
5. Applications to Computer Science
Theory of program (Program verification)
The weakest prespecifiacion (Hoare 1987),
Categorical assertion semantics in toposes (Kawahara 1992),
Automated verification of relational while-programs (Berghammer 2014),
Semigroup with if–then–else and halting programs (Jackson 2009).
Automata, Graph rewritings (Model of computation)
Applications of relational calculus to computer mathematics
(Kawahara 1988),
Relational graph rewritings (Mizoguchi 1995).
Relational database, Formal concepts analysis (Model of data)
Relational aspects of relational database dependencies (Okuma 2000),
Formal concepts in Dedekind categories (Ishida 2008).
† 14th International Conference on Relational and Algebraic Methods in
Computer Science (RAMiCS),
http://mathcs.chapman.edu/ramics2014/
Y.Mizoguchi () Relational Calculus in Coq 2015/10/01 5 / 31
6. Boolean algebra (1)
Let B = (B, φ, ∇, , −) be a quintuple of a set B, elements φ, ∇ ∈ B,
operations : B × B → B and − : B → B. B is a Boolean algebra, if it
satisfies the following axioms for any elements a, b, c ∈ B.
(a b) c = a (b c)
a b = b a
a a = a
−(−b) = b
b (−b) = ∇
−∇ = φ
a (b c) = (a b) (a c)
where x y = −((−x) (−y)).
φ a = a
※ a b is defined by a b = b, and a − b is defined by a (−b).
Y.Mizoguchi () Relational Calculus in Coq 2015/10/01 6 / 31
7. Boolean algebra (2)
Let 2X be the set of all subsets of a set X. For any subsets A and B of X,
Let A B be the union of sets A and B and −A the complement
(−A = X − A) of a set A. Then we have a Boolean algebra
F(X) = (2X, φ, X, , −).
Theorem (Stone’s representation theorem(1936))
.
.
Let B be a Boolean algebra. Then there exists a set X such that F(X) and
B are equivalent as a Boolean algebra.
Proposition
A finite Boolean algebra is equivalent to a Boolean algebra of some finite
set. So every finite Boolean algebra is corresponding to a natural number
n and its number of elements is 2n.
Y.Mizoguchi () Relational Calculus in Coq 2015/10/01 7 / 31
8. Relation algebra (1)
Let R be a set, φ, ∇, id ∈ R, : R × R → R, · : R × R → R, − : R → R
and ( ) : R → R. A octuple R = (R, , −, φ, ∇, id, , ·) is called a relation
algebra, if for any elements a, b, c ∈ B it satisfies following axioms:
(R, , −, φ, ∇) is a Boolean algebra.
(R, ·, id) is a monoid with the identity
element id.
(a · b) · c = a · (b · c)
a · id = id · a = a
The following three conditions are
equivalent.
(a · b) c = φ
(a · c) b = φ
a (c · b ) = φ
Y.Mizoguchi () Relational Calculus in Coq 2015/10/01 8 / 31
9. Relation algebra (2)
Let X be a set and 2X×X a set of all subsets of X × X. For any subsets A,
B of X × X, we define
A · B = {(x, y) | ∃u, (x, u) ∈ A ∧ (u, y) ∈ B}
idX = {(x, x) | x ∈ X}, and
A = {(y, x) | (x, y) ∈ A}.
Then F(X × X) = (2X×X, , −, φ, X × X, idX, ( ) , ·) is a relational algebra.
Example
For a relation A ∈ 2X×X, the expression A · A ⊆ A is corresponding to the
transitive law,
(a, b) ∈ A ∧ (b, c) ∈ A ⇒ (a, c) ∈ A.
Our main idea is translating a logical formula in set theory to an expression
using relation algebra’s operations. Further, we prove those properties
using symbolic computations.
Y.Mizoguchi () Relational Calculus in Coq 2015/10/01 9 / 31
10. Lyndon’s conditions
Let X be a set, F(X × X) a relation algebra defined by all subsets of
X × X. For any elements in 2X×X, the following conditions always hold:
(D1)
(a·b) (c·d) (e· f) a·[(a ·c) (b·d ) {((a ·e) (b· f ))·((e ·c) (f ·d ))}]·d
(D2)
a ((b (c·d))·(e (f·g))) c·[(((c ·a) (d·e))·g ) (d·f) (c ·((a·g ) (b·f)))]·g
(D3) If a (b · c) (d · e) and (b · d) (c · e ) f · g then
a ((b · f) (d · g )) · (( f · b ) (g · e)).
Y.Mizoguchi () Relational Calculus in Coq 2015/10/01 10 / 31
11. McKenzie algebra
Let A = {id, x, y, y } and consider a freely generated relation algebra by
A ∪ {φ, ∇} (i.e. an element is a finite union( ) of elements of A ∪ {φ, ∇}
and φ(∇) is a minimum(maximum) elements).
x = x , id = id
For any α ∈ A, φ α ∇ and α α = α.
For any α, β ∈ A, if α β then α β = φ.
concatenation (·) is defined by the following table:
· id x y y
id id x y y
x x id y y x y x y
y y x y y ∇
y y x y ∇ y
We call the relation algebra defined by above conditions as the McKenzie
algebra.
Y.Mizoguchi () Relational Calculus in Coq 2015/10/01 11 / 31
12. undecidability of relation algebra
Conjecture
.
.Any relation algebra R is equivalent to a relation algebra F(X × X) for
some set X.
Theorem (McKenzie 1970)
.
.
McKenzie algebra does not satisfy (D2). i.e. If a = c = d = f = g = x,
b = y, and e = y , then (D2) does not hold.
The proof of above theorem is proved by computing (D2) assigning
appropriate elements using axioms.
※ The first prove of existence of a relation algebra which is not
represented by a relation algebra of subsets of X × X is introduced by
Lyndon(1950).
Y.Mizoguchi () Relational Calculus in Coq 2015/10/01 12 / 31
13. Dedekind category (Category of relations) (1)
Let D be a category, D(X, Y) a class of all morphisms from X to Y for
X, Y ∈ D. For any objects X, Y, and Z, we define the composition ·, the
inverse ( ) , and the residue composition as follows:
· = D(X, Y) × D(Y, Z) → D(X, Z)
( ) = D(X, Y) → D(Y, X)
= D(X, Y) × D(Y, Z) → D(X, Z)
We call D as a Dedekind category if it satisfies following conditions:
1 (D, , , , ⇒, φXY, ∇XY) is a complete Heyting algebra with the
minimum φXY and the maximum ∇XY.
2 Let α, α ∈ D(X, Y). Then
(α · β) = β · α
(α ) = α
If α α then α α .
3 Let α ∈ D(X, Y), β ∈ D(Y, Z), γ ∈ D(X, Z). Then
(α · β) γ α · (β (α · γ))
4 Let α ∈ D(X, Y), β ∈ D(Y, Z), δ ∈ D(X, Z). Then
δ α β ↔ α · δ β
Y.Mizoguchi () Relational Calculus in Coq 2015/10/01 13 / 31
14. Dedekind category (Category of relations) (2)
※ Summary of notations:
(1) A relation α from a set A into another set B is a subset of the
Cartesian product A × B and denoted by α : A B.
(2) The inverse relation α : B A of α is a relation such that
(b, a) ∈ α if and only if (a, b) ∈ α.
(3) The composite αβ : A C of α : A B followed by β : B C is
a relation such that (a, c) ∈ αβ if and only if there exists b ∈ B with
(a, b) ∈ α and (b, c) ∈ β.
(4) As a relation of a set A into a set B is a subset of A × B, the inclusion
relation, union, intersection and difference of them are available as
usual and denoted by , , and −, respectively.
(5) The identity relation idA : A A is a relation with
idA = {(a, a) ∈ A × A |,a ∈ A}.
(6) The empty relation φ ⊆ A × B is denoted by 0AB. The entire set
A × B is called the universal relation and denoted by ∇AB.
(7) The one point set {∗} is denoted by I. We note that ∇II = idI.
Y.Mizoguchi () Relational Calculus in Coq 2015/10/01 14 / 31
15. Axioms and Lemmas in Dedekind category (1)
Library Basic_Notations
Definitions and notations of elementary operations.
Library Distributive_Laws
Distributive law, De-Morgan’s law, etc.
Library Empty_Universal_Inverse
Lemmas for empty, total, and inverse relations
Library Basic_Lemmas
Lemmas for inclusions, union, and intersection of relations.
Library Functions_Mappings
Definitions and lemmas for functions. 1
Library Dedekind
Lemmas for Dedekind categories.
1
※ including tactics.
Y.Mizoguchi () Relational Calculus in Coq 2015/10/01 15 / 31
16. Axioms and Lemmas in Dedekind category (2)
Let A, B be eqType. We denote a type of a relation from A to B by
(Rel A B) and defied as A → B → Prop.
The followings is a list of notations.
Notation Coq Notation
Inverse α (inverse_relation α) (α #)
Composite αβ (composite α β) (α · β)
Identity idA (identity_relation A) (Id A)
Empty φAB (empty_relation A B) (ϕ A B)
Total ∇AB (universal_relation A B) (∇ A B)
Y.Mizoguchi () Relational Calculus in Coq 2015/10/01 16 / 31
17. Relational representation of properties of maps (1)
Properties of a function (total function), injection, surjection are not defined
by logical formulas but relational expressions.
Definition
.
Let α : A B be a relation.
(1) α is total, if idA αα .
(2) α is univalent, if α α idB.
(3) A univalent relation is also called as a partial function.
(4) α is (total) function, if α is total and univalent.
(3) A (total) function α : A B is surjection, if α α = idB.
(4) A (total) function α : A B is injection, if αα = idA.
(5) A (total) function is bijection, if it is surjection and injection.
Note. We use letters f, g, h, · · · for (total) functions. For a function,
surjection and injection, we use an arrow symbol →, and .
Y.Mizoguchi () Relational Calculus in Coq 2015/10/01 17 / 31
18. Relational representation of properties of maps (2)
Definition total_id {A B : eqType} (alpha : Rel A B) :=
(Id A) ≡ (alpha ・ (alpha #)).
Definition univalent_id {A B : eqType} (alpha : Rel A B) :=
((alpha #) ・ alpha) ≡ (Id B).
Definition total_r {A B : eqType} (alpha : Rel A B) :=
(Id A) ⊆ (alpha ・ (alpha #)).
Definition univalent_r {A B : eqType} (alpha : Rel A B) :=
((alpha #) ・ alpha) ⊆ (Id B).
Definition function_r {A B : eqType} (alpha : Rel A B) :=
(total_r alpha) / (univalent_r alpha).
Definition surjection_r {A B : eqType} (alpha : Rel A B) :=
(function_r alpha) / (total_r (alpha #)).
Definition injection_r {A B : eqType} (alpha : Rel A B) :=
(function_r alpha) / (univalent_r (alpha #)).
Definition bijection_r {A B : eqType} (alpha : Rel A B) :=
(surjection_r alpha) / (injection_r alpha).
Y.Mizoguchi () Relational Calculus in Coq 2015/10/01 18 / 31
19. composite of injections are injection (set theory)
Proposition
.
If f : X → Y and g : Y → Z are injections, then f · g : X → Z is an
injection.
(∀x, x ∈ X, ∀y ∈ Y, (x, y) ∈ f ∧ (x , y) ∈ f ⇒ x = x )
∧ (∀y, y ∈ Y, ∀z ∈ Z, (y, z) ∈ g ∧ (y , z) ∈ g ⇒ y = y )
⇒ (∀x, x ∈ X, ∀z ∈ Z, ((x, z) ∈ f · g) ∧ ((x , z) ∈ f · g))
⇒ x = x
where,
(x, z) ∈ f · g ⇔ ∃y ∈ Y, (x, y) ∈ f ∧ (y, z) ∈ g
(x , z) ∈ f · g ⇔ ∃y ∈ Y, (x , y ) ∈ f ∧ (y , z) ∈ g
※ Not easy to find a strategy to make proof automatically.
Y.Mizoguchi () Relational Calculus in Coq 2015/10/01 19 / 31
20. composite of injections are injection (set theory)
Theorem injection_composite_set
{X Y Z : eqType} {f : Rel X Y} {g : Rel Y Z}:
(forall (x x’ : X)(y : Y), f x y / f x’ y - x = x’) /
(forall (y y’ : Y)(z : Z), g y z / g y’ z - y = y’) -
(forall (x x’ : X)(z : Z),
(exists y : Y, f x y / g y z) / (exists y’ : Y, f x’ y’ / g y’ z) - x = x’).
Proof.
intuition.
move:H2.
elim = y H4.
apply (H0 x x’ y).
split.
apply (proj1 H4).
move:H3.
elim =y’ H5.
have: y=y’.
apply (H1 y y’ z).
apply (conj (proj2 H4) (proj2 H5)).
move = H6.
rewrite -H6 in H5.
apply (proj1 H5).
Qed.
※ Of course, we can make a proof manually.
Y.Mizoguchi () Relational Calculus in Coq 2015/10/01 20 / 31
21. composition of an injection and an injection is an injection
(relational calculus)
Proposition
.
.
Let f : X → Y, g : Y → Z be injections. Then f · g : X → Z is an
injection.
( f · f idX) ∧ (g · g idY) ⇒ ((f · g) · ( f · g) idX)
( f · g) · ( f · g)
= ( f · g) · (g · f ) (∵ (α · β) = β · α )
= f · (g · g ) · f (∵ associative law)
f · idY · f (∵ g · g idY)
= f · f (∵ idYis unit)
idX (∵ f · f idX)
Proof can be done using symbolic transformations.
Y.Mizoguchi () Relational Calculus in Coq 2015/10/01 21 / 31
22. composition of an injection and an injection is an injection
(relational calculus)
Theorem injection_composite_rel_tactic
{X Y Z : eqType} {f : Rel X Y} {g : Rel Y Z}:
(f ・ (f #)) ⊆ Id X / (g ・ (g #)) ⊆ Id Y -
((f ・ g) ・ ((f ・ g) #)) ⊆ Id X.
Proof.
Rel_simpl2.
Qed.
※ We can implement an automatic prover (Tactic).
Y.Mizoguchi () Relational Calculus in Coq 2015/10/01 22 / 31
23. Elementary lemmas
Lemma composite_include_left
(a ⊆ a’) - ((a ・ b) ⊆ (a’ ・ b)).
Lemma composite_include_left_a_id
(a ⊆ Id A) - ((a ・ b) ⊆ b).
Lemma composite_include_right
(b ⊆ b’) - ((a ・ b) ⊆ (a ・ b’)).
Lemma composite_include_right_b_id
(b ⊆ Id B) - ((a ・ b) ⊆ a).
Lemma composite_include_right_id_b
(Id B ⊆ b) - (a ⊆ (a ・ b)).
Lemma composite_include_left_right
(b ⊆ b’) - ((a ・ (b ・ c)) ⊆ (a ・ (b’ ・ c))).
Lemma composite_include_left_right_b_id
(b ⊆ Id B) - ((a ・ (b ・ c)) ⊆ (a ・ c)).
Lemma composite_include_left_right_id_b
(Id B ⊆ b) - ((a ・ c) ⊆ (a ・ (b ・ c))).
Y.Mizoguchi () Relational Calculus in Coq 2015/10/01 23 / 31
24. Automated proving(Tactic)
※ not only reductions.
Ltac Rel_simpl1 :=
Rel_simpl_intro;
repeat match goal with
| [_ : _ |- _ ⊆ _ ] = apply f_include
| [ H : _ |- _ ⊆ _ ] = apply H
| [_ : _ |- (_ ・ _) ⊆ (_ ・ _) ] = apply composite_include
| [_ : _ |- (_ ・ _) ⊆ _ ] = apply composite_include_left_a_id
| [_ : _ |- _ ⊆ (_ ・ _) ] = apply composite_include_left_id_a
| [_ : _ |- (_ ・ _) ⊆ _ ] = apply composite_include_right_b_id
| [_ : _ |- _ ⊆ (_ ・ _) ] = apply composite_include_right_id_b
| [ H : _ ⊆ _ , H0 : _ ⊆ _ |- _ ⊆ _ ] = apply (include_include H H0)
| [ H : (Id _) ⊆ _ ,H0 : _ ⊆ (Id _) |- _ ] = rewrite (include_equal H H0)
| [_ : _ |- (_ #) ⊆ (_ #) ] = apply include_inverse
| [_ : _ |- _ ] = rewrite composite_inverse
| [_ : _ |- _ ] = rewrite composite_composite4
end.
Ltac Rel_simpl2 :=
Rel_simpl_intro;
repeat match goal with
| [ H : (Id _) ⊆ _ |- (Id _) ⊆ _ ] = apply (include_include H)
| [ H : _ ⊆ (Id _) |- _ ⊆ (Id _) ] = apply (fun (H0 : _ ⊆ _) = (include_include H0 H))
end;Rel_simpl1.
※ A transformation is not always a reduction. We may add an identity
function(Rel_simpl2).
Y.Mizoguchi () Relational Calculus in Coq 2015/10/01 24 / 31
25. composition of a surjection and a surjection is a surjection
(relational formulation)
Proposition
.
.
If f : X → Y and g : Y → Z are surjections, then f · g : X → Z is a
surjection.
(idX f · f ) ∧ (idY g · g ) ⇒ (idX ( f · g) · (f · g) )
idX
f · f (∵ idX f · f )
= f · (idY · f ) (∵ idY is the unit)
f · ((g · g ) · f ) (∵ idY g · g )
= ( f · g) · (g · g ) (∵ associative)
= ( f · g) · ( f · g) (∵ inverse)
Proof can be done using symbolic transformations.
Y.Mizoguchi () Relational Calculus in Coq 2015/10/01 25 / 31
26. composition of a surjection and a surjection is a surjection
(relational formulation) (2)
Lemma total_composite2
{A B C : eqType} {f : Rel A B} {g : Rel B C}:
((Id A) ⊆ (f ・ (f #))) - (Id B) ⊆ (g ・ (g #)) -
(Id A) ⊆ ((f ・ g) ・ ((f ・ g) #)).
Proof.
Rel_simpl2.
Qed.
※ We can implement an automatic prover (Tactic).
Y.Mizoguchi () Relational Calculus in Coq 2015/10/01 26 / 31
27. Conclusion and future works
Implementation of Coq library of relational calculus
Definition of types and operations, arrangement of notations.
Proof for relations in Set using Tarski’s axioms.
Proof of properties of relation algebras.
Implementations of tactics for automatic proving.
Future works
Arrangement of hierarchy of axioms and lemmas.
Improvement of tactics for relational calculus.
Application of a relational algebra and its formalization.
Reforming proofs in Mathematics using relational calculus.
Acknowledgment. We express our thanks to Reynald Affeldt (AIST Japan) and
Youich Hirai (FireEye) for their helpful comments and suggestions.
Y.Mizoguchi () Relational Calculus in Coq 2015/10/01 27 / 31
28. References I
R. Berghammer, P. H¨ofner, and I. Stucke.
Automated verification of relational while-programs.
In P. H¨ofner, P. Jipsen, W. Kahl, and M. E. M¨uller, editors, Relational and Algebraic Methods in
Computer Science (RAMiCS’14), volume 8428 of Lecture Notes in Computer Sciences, pages
173–190, 2014.
Peter J. Freyd and Andre Scedrov.
Categories, allegories, volume 39 of North-Holland mathematical library.
North-Holland, Amsterdam, 1990.
Hitoshi Furusawa and Yasuo Kawahara.
Point axioms and related conditions in dedekind categories.
Journal of Logical and Algebraic Methods in Programming, 84:359–376, 2015.
Robin Hirsh and Ian Hodkinson.
Relation algebras by games, volume 147 of Studies in Logic and Foundations.
North-Holland, Amsterdam, 2002.
C. A. R. Hoare and HE Jifeng.
The weakest prespecification.
Information processing letter, 24:127–132., 1987.
Y.Mizoguchi () Relational Calculus in Coq 2015/10/01 28 / 31
29. References II
T. Ishida, K. Honda, and Y. Kawahara.
Formal concepts in Dedekind categories.
In R. Berghammer, B. M¨oller, and G. Struth, editors, Relations and Kleene Algebras in Computer
Science, volume 4988 of Lecture Notes in Computer Science, pages 221–233, 2008.
Marcel Jackson and Tim Stokes.
Semigroup with if–then–else and halting programs.
International Journal of Algebra and Computation, 19(7):937–961, 2009.
Y. Kawahara.
Applications of relational calculus to computer mathematics.
Bull. Inform. Cybernet., 23:67–78, 1988.
Y. Kawahara and Y. Mizoguchi.
Categorical assertion semantics in toposes.
Advances in Software Science and Technology, 4:137–150, 1992.
Saunder Mac Lane.
Categories for the working mathematicians.
Springer-Verlag, 1971.
R. C. Lyndon.
The representation of relational algebras.
Annuals of Mathematics, 51:707–729, 1950.
Y.Mizoguchi () Relational Calculus in Coq 2015/10/01 29 / 31
30. References III
Roger D. Maddux.
The origin of relation algebras in the development and axiomatization of the calculus of relations.
Studia Logica: An International Journal for Symbolic Logic, 50:421–455, 1991.
Ralph N. McKenzie, George F. McNulty, and Walter F. Tylor.
Algebras, lattices, varieties.
The Wadsworth Books/Cole mathematics series. Wadsworth Books, 1987.
Y. Mizoguchi and Y. Kawahara.
Relational graph rewritings.
Theoret. Comput. Sci., 141:311–328, 1995.
A. De Morgan.
On the syllogism: IV, and on the logic of relations.
Transactions of the Cambridge Philosophcal Society, pages 331–358, 1966.
H. Okuma and Y. Kawahara.
Relational aspects of relational database dependencies.
Bull. Inform. Cybernet., pages 91–104, 2000.
J. P. Oliver and D. Serrato.
Cat´egories de dedekind morphismes dans les cat´egories de Shr¨oder.
C. R. Acad. Sci. Paris, 290:939–941, 1980.
Y.Mizoguchi () Relational Calculus in Coq 2015/10/01 30 / 31
31. References IV
C. S. Peirce.
Note B: the logic of relatives, volume iviii+vi+203, pages 187–203.
John Benjamins Publishing Co., Amsterdam and Philadelphia., 1983.
G. Schmidt.
Relational Mathematics.
Cambridge University Press, 2010.
Marshall H. Stone.
The theory of representations of Boolean algebras.
Transactions of American Mathematical Society, 40, 1936.
A. Tarski.
On the calculus of relations.
Journal of Symbolic Logic, 6:73–89, 1941.
Y.Mizoguchi () Relational Calculus in Coq 2015/10/01 31 / 31