Step
*
of Lemma
rel_path-append
∀[A:Type]. ∀[R:A ⟶ A ⟶ ℙ].
  ∀L:(a:A × b:A × (R a b)) List. ∀x,y,z:A. ∀r:R y z.  rel_path(A;L @ [<y, z, r>];x;z) supposing rel_path(A;L;x;y)
BY
{ ((RepeatFor 3 (Intro) THEN (InstLemma `rel_path_wf` [⌜A⌝;⌜R⌝]⋅ THENA Auto))
   THEN (InstLemma `list_induction` [⌜a:A × b:A × (R a b)⌝;⌜λ2L.∀x,y,z:A. ∀r:R y z.
                                                                  rel_path(A;L @ [<y, z, r>];x;z) 
                                                                  supposing rel_path(A;L;x;y)⌝]⋅
         THENA Try (Complete (Auto))
         )
   ) }
1
.....antecedent..... 
1. [A] : Type
2. [R] : A ⟶ A ⟶ ℙ
3. L : (a:A × b:A × (R a b)) List
4. ∀[x,y:A]. ∀[L:(a:A × b:A × (R a b)) List].  (rel_path(A;L;x;y) ∈ ℙ)
⊢ ∀x,y,z:A. ∀r:R y z.  rel_path(A;[] @ [<y, z, r>];x;z) supposing rel_path(A;[];x;y)
2
.....antecedent..... 
1. [A] : Type
2. [R] : A ⟶ A ⟶ ℙ
3. L : (a:A × b:A × (R a b)) List
4. ∀[x,y:A]. ∀[L:(a:A × b:A × (R a b)) List].  (rel_path(A;L;x;y) ∈ ℙ)
⊢ ∀aaaa:a:A × b:A × (R a b). ∀LLLL:(a:A × b:A × (R a b)) List.
    ((∀x,y,z:A. ∀r:R y z.  rel_path(A;LLLL @ [<y, z, r>];x;z) supposing rel_path(A;LLLL;x;y))
    
⇒ (∀x,y,z:A. ∀r:R y z.  rel_path(A;[aaaa / LLLL] @ [<y, z, r>];x;z) supposing rel_path(A;[aaaa / LLLL];x;y)))
3
1. [A] : Type
2. [R] : A ⟶ A ⟶ ℙ
3. L : (a:A × b:A × (R a b)) List
4. ∀[x,y:A]. ∀[L:(a:A × b:A × (R a b)) List].  (rel_path(A;L;x;y) ∈ ℙ)
5. ∀L:(a:A × b:A × (R a b)) List. ∀x,y,z:A. ∀r:R y z.  rel_path(A;L @ [<y, z, r>];x;z) supposing rel_path(A;L;x;y)
⊢ ∀x,y,z:A. ∀r:R y z.  rel_path(A;L @ [<y, z, r>];x;z) supposing rel_path(A;L;x;y)
Latex:
Latex:
\mforall{}[A:Type].  \mforall{}[R:A  {}\mrightarrow{}  A  {}\mrightarrow{}  \mBbbP{}].
    \mforall{}L:(a:A  \mtimes{}  b:A  \mtimes{}  (R  a  b))  List.  \mforall{}x,y,z:A.  \mforall{}r:R  y  z.
        rel\_path(A;L  @  [<y,  z,  r>];x;z)  supposing  rel\_path(A;L;x;y)
By
Latex:
((RepeatFor  3  (Intro)  THEN  (InstLemma  `rel\_path\_wf`  [\mkleeneopen{}A\mkleeneclose{};\mkleeneopen{}R\mkleeneclose{}]\mcdot{}  THENA  Auto))
  THEN  (InstLemma  `list\_induction`  [\mkleeneopen{}a:A  \mtimes{}  b:A  \mtimes{}  (R  a  b)\mkleeneclose{};\mkleeneopen{}\mlambda{}\msubtwo{}L.\mforall{}x,y,z:A.  \mforall{}r:R  y  z.
                                                                                                                                rel\_path(A;L  @  [<y,  z,  r>];x;z) 
                                                                                                                                supposing  rel\_path(A;L;x;y)\mkleeneclose{}]\mcdot{}
              THENA  Try  (Complete  (Auto))
              )
  )
Home
Index