Step
*
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. u : a:A × b:A × (R a b)
6. v : (a:A × b:A × (R a b)) List
7. ∀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))
8. a : A
9. b : A
10. (fst(u)) = a ∈ A
11. rel_path(A;v;fst(snd(u));b)
⊢ rel_path(A;map(λt.let a,b,r = t in 
                    <b, a, s a b r>rev(v) @ [u]);b;a)
BY
{ (FHyp (-5) [-1] 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. u : a:A × b:A × (R a b)
6. v : (a:A × b:A × (R a b)) List
7. ∀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))
8. a : A
9. b : A
10. (fst(u)) = a ∈ A
11. rel_path(A;v;fst(snd(u));b)
12. rel_path(A;map(λt.let a,b,r = t in 
                      <b, a, s a b r>rev(v));b;fst(snd(u)))
⊢ rel_path(A;map(λt.let a,b,r = t in 
                    <b, a, s a b r>rev(v) @ [u]);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.  u  :  a:A  \mtimes{}  b:A  \mtimes{}  (R  a  b)
6.  v  :  (a:A  \mtimes{}  b:A  \mtimes{}  (R  a  b))  List
7.  \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))
8.  a  :  A
9.  b  :  A
10.  (fst(u))  =  a
11.  rel\_path(A;v;fst(snd(u));b)
\mvdash{}  rel\_path(A;map(\mlambda{}t.let  a,b,r  =  t  in 
                                        <b,  a,  s  a  b  r>rev(v)  @  [u]);b;a)
By
Latex:
(FHyp  (-5)  [-1]  THENA  Auto)
Home
Index