Skip to content

Commit 93d7229

Browse files
committed
fixing transitive closure.
1 parent 7ef44be commit 93d7229

File tree

1 file changed

+24
-24
lines changed

1 file changed

+24
-24
lines changed

theories/Relations/TransitiveClosure.v

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@ Section parametric.
1010
Variable R : T -> T -> Prop.
1111

1212
(** Reflexivity **)
13-
Inductive makeRefl : T -> T -> Prop :=
14-
| RRefl : forall x, makeRefl x x
15-
| RStep : forall x y, R x y -> makeRefl x y.
13+
Inductive makeRefl (x : T) : T -> Prop :=
14+
| RRefl : makeRefl x x
15+
| RStep : forall y, R x y -> makeRefl x y.
1616

1717
Global Instance Refl_makeRefl : Reflexive makeRefl.
1818
Proof.
@@ -27,9 +27,9 @@ Section parametric.
2727
Qed.
2828

2929
(** Transitivity **)
30-
Inductive makeTrans : T -> T -> Prop :=
31-
| TStep : forall x y, R x y -> makeTrans x y
32-
| TTrans : forall x y z, makeTrans x y -> makeTrans y z -> makeTrans x z.
30+
Inductive makeTrans (x y : T) : Prop :=
31+
| TStep : R x y -> makeTrans x y
32+
| TTrans : forall z, makeTrans x z -> makeTrans z y -> makeTrans x y.
3333

3434
Global Instance Trans_makeTrans : Transitive makeTrans.
3535
Proof.
@@ -41,26 +41,26 @@ Section parametric.
4141
intro. intro. apply TStep. reflexivity.
4242
Qed.
4343

44-
Inductive leftTrans : T -> T -> Prop :=
45-
| LTFin : forall x y, R x y -> leftTrans x y
46-
| LTStep : forall x y z, R x y -> leftTrans y z -> leftTrans x z.
44+
Inductive leftTrans (x y : T) : Prop :=
45+
| LTFin : R x y -> leftTrans x y
46+
| LTStep : forall z, R x z -> leftTrans z y -> leftTrans x y.
4747

48-
Inductive rightTrans : T -> T -> Prop :=
49-
| RTFin : forall x y, R x y -> rightTrans x y
50-
| RTStep : forall x y z, rightTrans x y -> R y z -> rightTrans x z.
48+
Inductive rightTrans (x y : T) : Prop :=
49+
| RTFin : R x y -> rightTrans x y
50+
| RTStep : forall z, rightTrans x z -> R z y -> rightTrans x y.
5151

5252
(** Equivalence of definitions of transitivity **)
5353
Fixpoint leftTrans_rightTrans_acc x y (l : leftTrans y x) : forall z, rightTrans z y -> rightTrans z x :=
54-
match l in leftTrans y x return forall z, rightTrans z y -> rightTrans z x with
55-
| LTFin _ _ pf => fun z pfR => RTStep pfR pf
56-
| LTStep _ _ _ pf pfL => fun z pfR =>
54+
match l with
55+
| LTFin pf => fun z pfR => RTStep pfR pf
56+
| LTStep _ pf pfL => fun z pfR =>
5757
leftTrans_rightTrans_acc pfL (RTStep pfR pf)
5858
end.
5959

6060
Fixpoint rightTrans_leftTrans_acc x y (l : rightTrans x y) : forall z, leftTrans y z -> leftTrans x z :=
61-
match l in rightTrans x y return forall z, leftTrans y z -> leftTrans x z with
62-
| RTFin _ _ pf => fun z pfR => LTStep pf pfR
63-
| RTStep _ _ _ pf pfL => fun z pfR =>
61+
match l with
62+
| RTFin pf => fun z pfR => LTStep pf pfR
63+
| RTStep _ pf pfL => fun z pfR =>
6464
rightTrans_leftTrans_acc pf (LTStep pfL pfR)
6565
end.
6666

@@ -75,16 +75,16 @@ Section parametric.
7575
Qed.
7676

7777
Fixpoint leftTrans_makeTrans_acc x y (l : leftTrans x y) : makeTrans x y :=
78-
match l in leftTrans x y return makeTrans x y with
79-
| LTFin _ _ pf => TStep pf
80-
| LTStep _ _ _ pf pfL =>
78+
match l with
79+
| LTFin pf => TStep pf
80+
| LTStep _ pf pfL =>
8181
TTrans (TStep pf) (leftTrans_makeTrans_acc pfL)
8282
end.
8383

8484
Fixpoint leftTrans_trans x y (l : leftTrans x y) : forall z (r : leftTrans y z), leftTrans x z :=
85-
match l in leftTrans x y return forall z (r : leftTrans y z), leftTrans x z with
86-
| LTFin _ _ pf => fun _ pfL => LTStep pf pfL
87-
| LTStep _ _ _ pf pfL => fun _ pfR => LTStep pf (leftTrans_trans pfL pfR)
85+
match l with
86+
| LTFin pf => fun _ pfL => LTStep pf pfL
87+
| LTStep _ pf pfL => fun _ pfR => LTStep pf (leftTrans_trans pfL pfR)
8888
end.
8989

9090
Theorem makeTrans_leftTrans : forall s s',

0 commit comments

Comments
 (0)