Step
*
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 : {L:(a:A × b:A × (R a b)) List| rel_path(A;L;x;y) ∧ 0 < ||L||} 
⊢ {L:(a:A × b:A × (R a b)) List| rel_path(A;L;f x;f y) ∧ 0 < ||L||} 
BY
{ UseWitness ⌜map(λtr.let a,b,r = tr in 
                      <f a, f b, g a b r>L)⌝⋅ }
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 : {L:(a:A × b:A × (R a b)) List| 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||} 
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  :  \{L:(a:A  \mtimes{}  b:A  \mtimes{}  (R  a  b))  List|  rel\_path(A;L;x;y)  \mwedge{}  0  <  ||L||\} 
\mvdash{}  \{L:(a:A  \mtimes{}  b:A  \mtimes{}  (R  a  b))  List|  rel\_path(A;L;f  x;f  y)  \mwedge{}  0  <  ||L||\} 
By
Latex:
UseWitness  \mkleeneopen{}map(\mlambda{}tr.let  a,b,r  =  tr  in 
                                        <f  a,  f  b,  g  a  b  r>L)\mkleeneclose{}\mcdot{}
Home
Index