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