Step
*
1
1
1
1
1
1
1
of Lemma
transitive-closure-symmetric
1. A : Type
2. R : A ⟶ A ⟶ ℙ
3. s : ∀a,b:A.  ((R a b) 
⇒ (R b a))
4. λt.let a,b,r = t in 
      <b, a, s a b r> ∈ (a:A × b:A × (R a b)) ⟶ (a:A × b:A × (R a b))
5. a1 : A
6. b1 : A
7. u2 : R a1 b1
8. v : (a:A × b:A × (R a b)) List
9. ∀a,b:A.  (rel_path(A;v;a;b) 
⇒ rel_path(A;map(λt.let a,b,r = t in <b, a, s a b r>rev(v));b;a))
10. a : A
11. b : A
12. a1 = a ∈ A
13. rel_path(A;v;b1;b)
14. rel_path(A;map(λt.let a,b,r = t in 
                      <b, a, s a b r>rev(v));b;b1)
⊢ rel_path(A;map(λt.let a,b,r = t in <b, a, s a b r>rev(v)) @ [<b1, a1, s a1 b1 u2>];b;a)
BY
{ (MoveToConcl (-1) THEN (GenConclTerm ⌜map(λt.let a,b,r = t in <b, a, s a b r>rev(v))⌝⋅ THENA Auto)) }
1
1. A : Type
2. R : A ⟶ A ⟶ ℙ
3. s : ∀a,b:A.  ((R a b) 
⇒ (R b a))
4. λt.let a,b,r = t in 
      <b, a, s a b r> ∈ (a:A × b:A × (R a b)) ⟶ (a:A × b:A × (R a b))
5. a1 : A
6. b1 : A
7. u2 : R a1 b1
8. v : (a:A × b:A × (R a b)) List
9. ∀a,b:A.  (rel_path(A;v;a;b) 
⇒ rel_path(A;map(λt.let a,b,r = t in <b, a, s a b r>rev(v));b;a))
10. a : A
11. b : A
12. a1 = a ∈ A
13. rel_path(A;v;b1;b)
14. v1 : (a:A × b:A × (R a b)) List
15. map(λt.let a,b,r = t in <b, a, s a b r>rev(v)) = v1 ∈ ((a:A × b:A × (R a b)) List)
⊢ rel_path(A;v1;b;b1) 
⇒ rel_path(A;v1 @ [<b1, a1, s a1 b1 u2>];b;a)
Latex:
Latex:
1.  A  :  Type
2.  R  :  A  {}\mrightarrow{}  A  {}\mrightarrow{}  \mBbbP{}
3.  s  :  \mforall{}a,b:A.    ((R  a  b)  {}\mRightarrow{}  (R  b  a))
4.  \mlambda{}t.let  a,b,r  =  t  in 
            <b,  a,  s  a  b  r>  \mmember{}  (a:A  \mtimes{}  b:A  \mtimes{}  (R  a  b))  {}\mrightarrow{}  (a:A  \mtimes{}  b:A  \mtimes{}  (R  a  b))
5.  a1  :  A
6.  b1  :  A
7.  u2  :  R  a1  b1
8.  v  :  (a:A  \mtimes{}  b:A  \mtimes{}  (R  a  b))  List
9.  \mforall{}a,b:A.    (rel\_path(A;v;a;b)  {}\mRightarrow{}  rel\_path(A;map(\mlambda{}t.let  a,b,r  =  t  in  <b,  a,  s  a  b  r>rev(v));b;a))
10.  a  :  A
11.  b  :  A
12.  a1  =  a
13.  rel\_path(A;v;b1;b)
14.  rel\_path(A;map(\mlambda{}t.let  a,b,r  =  t  in 
                                            <b,  a,  s  a  b  r>rev(v));b;b1)
\mvdash{}  rel\_path(A;map(\mlambda{}t.let  a,b,r  =  t  in  <b,  a,  s  a  b  r>rev(v))  @  [<b1,  a1,  s  a1  b1  u2>];b;a)
By
Latex:
(MoveToConcl  (-1)  THEN  (GenConclTerm  \mkleeneopen{}map(\mlambda{}t.let  a,b,r  =  t  in  <b,  a,  s  a  b  r>rev(v))\mkleeneclose{}\mcdot{}  THENA  Auto))
Home
Index