Step
*
1
1
1
1
of Lemma
transitive-closure-map
1. A : Type
2. R : A ⟶ A ⟶ ℙ
3. f : A ⟶ A
4. g : ∀x,y:A.  ((R x y) 
⇒ (R (f x) (f y)))
5. x : A
6. y : A
7. L : (a:A × b:A × (R a b)) List
8. rel_path(A;L;x;y) ∧ 0 < ||L||
⊢ map(λtr.let a,b,r = tr in 
          <f a, f b, g a b r>L) ∈ {L:(a:A × b:A × (R a b)) List| rel_path(A;L;f x;f y) ∧ 0 < ||L||} 
BY
{ (MemTypeCD THEN Auto) }
1
1. A : Type
2. R : A ⟶ A ⟶ ℙ
3. f : A ⟶ A
4. g : ∀x,y:A.  ((R x y) 
⇒ (R (f x) (f y)))
5. x : A
6. y : A
7. L : (a:A × b:A × (R a b)) List
8. rel_path(A;L;x;y)
9. 0 < ||L||
⊢ rel_path(A;map(λtr.let a,b,r = tr in 
                     <f a, f b, g a b r>L);f x;f y)
Latex:
Latex:
1.  A  :  Type
2.  R  :  A  {}\mrightarrow{}  A  {}\mrightarrow{}  \mBbbP{}
3.  f  :  A  {}\mrightarrow{}  A
4.  g  :  \mforall{}x,y:A.    ((R  x  y)  {}\mRightarrow{}  (R  (f  x)  (f  y)))
5.  x  :  A
6.  y  :  A
7.  L  :  (a:A  \mtimes{}  b:A  \mtimes{}  (R  a  b))  List
8.  rel\_path(A;L;x;y)  \mwedge{}  0  <  ||L||
\mvdash{}  map(\mlambda{}tr.let  a,b,r  =  tr  in 
                    <f  a,  f  b,  g  a  b  r>L)  \mmember{}  \{L:(a:A  \mtimes{}  b:A  \mtimes{}  (R  a  b))  List| 
                                                                        rel\_path(A;L;f  x;f  y)  \mwedge{}  0  <  ||L||\} 
By
Latex:
(MemTypeCD  THEN  Auto)
Home
Index