Step
*
of Lemma
interleaving_of_cons
No Annotations
∀[T:Type]
  ∀x:T. ∀L,L1,L2:T List.
    (interleaving(T;L1;L2;[x / L])
    
⇐⇒ (0 < ||L1|| c∧ ((L1[0] = x ∈ T) ∧ interleaving(T;tl(L1);L2;L)))
        ∨ (0 < ||L2|| c∧ ((L2[0] = x ∈ T) ∧ interleaving(T;L1;tl(L2);L))))
BY
{ (Intros THEN (Decide ↑null(L1) THENA Auto)) }
1
1. [T] : Type
2. x : T
3. L : T List
4. L1 : T List
5. L2 : T List
6. ↑null(L1)
⊢ interleaving(T;L1;L2;[x / L])
⇐⇒ (0 < ||L1|| c∧ ((L1[0] = x ∈ T) ∧ interleaving(T;tl(L1);L2;L)))
    ∨ (0 < ||L2|| c∧ ((L2[0] = x ∈ T) ∧ interleaving(T;L1;tl(L2);L)))
2
1. [T] : Type
2. x : T
3. L : T List
4. L1 : T List
5. L2 : T List
6. ¬↑null(L1)
⊢ interleaving(T;L1;L2;[x / L])
⇐⇒ (0 < ||L1|| c∧ ((L1[0] = x ∈ T) ∧ interleaving(T;tl(L1);L2;L)))
    ∨ (0 < ||L2|| c∧ ((L2[0] = x ∈ T) ∧ interleaving(T;L1;tl(L2);L)))
Latex:
Latex:
No  Annotations
\mforall{}[T:Type]
    \mforall{}x:T.  \mforall{}L,L1,L2:T  List.
        (interleaving(T;L1;L2;[x  /  L])
        \mLeftarrow{}{}\mRightarrow{}  (0  <  ||L1||  c\mwedge{}  ((L1[0]  =  x)  \mwedge{}  interleaving(T;tl(L1);L2;L)))
                \mvee{}  (0  <  ||L2||  c\mwedge{}  ((L2[0]  =  x)  \mwedge{}  interleaving(T;L1;tl(L2);L))))
By
Latex:
(Intros  THEN  (Decide  \muparrow{}null(L1)  THENA  Auto))
Home
Index