Step * 1 1 of Lemma transitive-closure-symmetric


1. [A] Type
2. [R] A ⟶ A ⟶ ℙ
3. : ∀a,b:A.  ((R b)  (R a))
4. A
5. A
6. (a:A × b:A × (R b)) List
7. [%1] rel_path(A;L;a;b) ∧ 0 < ||L||
8. λt.let a,b,r in 
      <b, a, r> ∈ (a:A × b:A × (R b)) ⟶ (a:A × b:A × (R b))
⊢ {L:(a:A × b:A × (R b)) List| rel_path(A;L;b;a) ∧ 0 < ||L||} 
BY
((UseWitness ⌜map(λt.let a,b,r in <b, a, r>;rev(L))⌝⋅ THEN MemTypeCD THEN Auto) THEN PromoteHyp (-1) 4) }

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
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)


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.  a  :  A
5.  b  :  A
6.  L  :  (a:A  \mtimes{}  b:A  \mtimes{}  (R  a  b))  List
7.  [\%1]  :  rel\_path(A;L;a;b)  \mwedge{}  0  <  ||L||
8.  \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))
\mvdash{}  \{L:(a:A  \mtimes{}  b:A  \mtimes{}  (R  a  b))  List|  rel\_path(A;L;b;a)  \mwedge{}  0  <  ||L||\} 


By


Latex:
((UseWitness  \mkleeneopen{}map(\mlambda{}t.let  a,b,r  =  t  in  <b,  a,  s  a  b  r>rev(L))\mkleeneclose{}\mcdot{}  THEN  MemTypeCD  THEN  Auto)  THEN  Promo\000CteHyp  (-1)  4)




Home Index