Step
*
of Lemma
assert-list_eq
∀[A:Type]. ∀[eq:EqDecider(A)]. ∀[as,bs:A List].  uiff(↑list_eq(eq;as;bs);as = bs ∈ (A List))
BY
{ (RepeatFor 2 (InductionOnList) THEN Unfold `list_eq` 0 THEN Reduce 0 THEN Auto) }
1
1. A : Type
2. eq : EqDecider(A)
3. u : A
4. v : A List
5. ∀[bs:A List]. uiff(↑list_eq(eq;v;bs);v = bs ∈ (A List))
6. u1 : A
7. v1 : A List
8. [u / v] = v1 ∈ (A List) supposing ↑list_eq(eq;[u / v];v1)
9. ↑list_eq(eq;[u / v];v1) supposing [u / v] = v1 ∈ (A List)
10. ↑((eq u u1) ∧b list_eq(eq;v;v1))
⊢ [u / v] = [u1 / v1] ∈ (A List)
Latex:
Latex:
\mforall{}[A:Type].  \mforall{}[eq:EqDecider(A)].  \mforall{}[as,bs:A  List].    uiff(\muparrow{}list\_eq(eq;as;bs);as  =  bs)
By
Latex:
(RepeatFor  2  (InductionOnList)  THEN  Unfold  `list\_eq`  0  THEN  Reduce  0  THEN  Auto)
Home
Index