(60steps total) PrintForm Definitions Lemmas graph 1 2 Sections Graphs Doc

At: paren interval 3 1 1 1 2 1

1. T: Type
2. s: (T+T) List
3. t: T
4. no_repeats(T+T;s) (s1,s2,s3:(T+T) List, x:T. s = (s1 @ [inl(x) / (s2 @ [inr(x) / s3])]) paren(T;s2))
5. paren(T;s)
6. l_disjoint(T+T;[inl(t)];s @ [inr(t)])
7. no_repeats(T+T;[inl(t)])
8. l_disjoint(T+T;s;[inr(t)])
9. no_repeats(T+T;s)
10. no_repeats(T+T;[inr(t)])
11. s2: (T+T) List
12. s3: (T+T) List
13. x: T
14. inl(t) = inl(x) T+T
15. (s @ [inr(t)]) = (s2 @ [inr(x) / s3])
16. u: T+T
17. v: (T+T) List
18. s = (s2 @ [u / v])
19. inr(x) = u
20. s3 = (v @ [inr(t)])
paren(T;s2)

By:
Unfold `l_disjoint` 8
THEN
InstHyp [inr(x)] 8
THEN
Analyze -1
THEN
SubstFor s 0


Generated subgoal:

18. x:T+T. ((x s) & (x [inr(t)]))
9. no_repeats(T+T;s)
10. no_repeats(T+T;[inr(t)])
11. s2: (T+T) List
12. s3: (T+T) List
13. x: T
14. inl(t) = inl(x) T+T
15. (s @ [inr(t)]) = (s2 @ [inr(x) / s3])
16. u: T+T
17. v: (T+T) List
18. s = (s2 @ [u / v])
19. inr(x) = u
20. s3 = (v @ [inr(t)])
(inr(x) s2 @ [u / v]) & (inr(x) [inr(t)])
1 step

About:
listconsconsnilunioninl
inruniverseequalimpliesandall

(60steps total) PrintForm Definitions Lemmas graph 1 2 Sections Graphs Doc