Step * 1 1 1 of Lemma transitive-closure-symmetric


1. Type
2. A ⟶ A ⟶ ℙ
3. : ∀a,b:A.  ((R b)  (R a))
4. λt.let a,b,r in 
      <b, a, r> ∈ (a:A × b:A × (R b)) ⟶ (a:A × b:A × (R b))
5. A
6. A
7. (a:A × b:A × (R b)) List
8. rel_path(A;L;a;b)
9. 0 < ||L||
⊢ rel_path(A;map(λt.let a,b,r in 
                    <b, a, r>;rev(L));b;a)
BY
(MoveToConcl 6
   THEN MoveToConcl 5
   THEN Thin (-1)
   THEN ListInd (-1)
   THEN RepeatFor ((D THENA Auto))
   THEN Unfold `rel_path` 0
   THEN Reduce 0
   THEN Try (Fold `rel_path` 0)
   THEN Auto) }

1
1. Type
2. A ⟶ A ⟶ ℙ
3. : ∀a,b:A.  ((R b)  (R a))
4. λt.let a,b,r in 
      <b, a, r> ∈ (a:A × b:A × (R b)) ⟶ (a:A × b:A × (R b))
5. a:A × b:A × (R b)
6. (a:A × b:A × (R b)) List
7. ∀a,b:A.  (rel_path(A;v;a;b)  rel_path(A;map(λt.let a,b,r in <b, a, r>;rev(v));b;a))
8. A
9. A
10. (fst(u)) a ∈ A
11. rel_path(A;v;fst(snd(u));b)
⊢ rel_path(A;map(λt.let a,b,r in 
                    <b, a, 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.  a  :  A
6.  b  :  A
7.  L  :  (a:A  \mtimes{}  b:A  \mtimes{}  (R  a  b))  List
8.  rel\_path(A;L;a;b)
9.  0  <  ||L||
\mvdash{}  rel\_path(A;map(\mlambda{}t.let  a,b,r  =  t  in 
                                        <b,  a,  s  a  b  r>rev(L));b;a)


By


Latex:
(MoveToConcl  6
  THEN  MoveToConcl  5
  THEN  Thin  (-1)
  THEN  ListInd  (-1)
  THEN  RepeatFor  2  ((D  0  THENA  Auto))
  THEN  Unfold  `rel\_path`  0
  THEN  Reduce  0
  THEN  Try  (Fold  `rel\_path`  0)
  THEN  Auto)




Home Index