(50steps) PrintForm Definitions Lemmas mb automata 4 Sections GenAutomata Doc

At: rel mng 2 iff 1 1 2

1. y: Label
2. ds: Collection(dec())
3. daa: Collection(dec())
4. da: Collection(SimpleType)
5. de: sig()
6. rho: Decl
7. e1: {1of([[de]] rho)}
8. e2: l:Labelreduce(s,m. [[s]] rhom;Prop;de.rel(l))
9. s1: {[[ds]] rho}
10. s2: {[[ds]] rho}
11. a: [[da]] rho
12. tr: trace_env([[daa]] rho)
13. l1: Term List
14. l2: Term List
15. ||l1|| = ||l2||

(i:||l1||. trace_consistent(rho;daa;tr.proj;l1[i])) (i:||l2||. trace_consistent(rho;daa;tr.proj;l2[i])) ||de.rel(y)|| = ||l1|| & (i:. i < ||l1|| (de.rel(y))[i] term_types(ds;da;de;l1[i])) ||de.rel(y)|| = ||l2|| & (i:. i < ||l2|| (de.rel(y))[i] term_types(ds;da;de;l2[i])) (i:. i < ||l1|| [[l1[i]]] e1 s1 a tr = [[l2[i]]] e1 s1 s2 a tr [[rel_arg_typ(relname_other(y);i;de)]] rho) (list_accum(x,t.x([[t]] e1 s1 a tr);e2.y;l1) list_accum(x,t.x([[t]] e1 s1 s2 a tr);e2.y;l2))

By:
(((((((Decide (||de.rel(y)|| = ||l1||)) THENL [Id;(RepeatFor 3 (Analyze 0)) THEN (Analyze -1)]) THEN (GenConcl (e2.y = f))) THENA (Auto THEN (Unfold `r_select` 0))) THEN (Thin -1) THEN (MoveToConcl -1) THEN (MoveToConcl -1) THEN (Unfold `rel_arg_typ` 0) THEN (Reduce 0) THEN (GenConcl (de.rel(y) = ls)) THEN (Thin -1) THEN (RepeatFor 3 (MoveToConcl -1)) THEN (ListInd -1) THEN (Analyze 0) THEN (ListInd -1) THEN (Reduce 0) THEN (Analyze 0)) THENL [Id;Auto;Auto;Id]) THEN (Analyze 0) THEN (ListInd -1) THEN (Reduce 0) THEN (Analyze 0)) THENA (Complete Auto)
THEN
Try (AssertBY False (Complete Auto))
THEN
Repeat ((Analyze 0) THENA (Complete Auto))
THEN
Try (Complete Auto)


Generated subgoal:

114. u: Term
15. v: Term List
16. l2:Term List. ||v|| = ||l2|| (ls:SimpleType List. ||ls|| = ||v|| (f:reduce(s,m. [[s]] rhom;Prop;ls). (i:||v||. trace_consistent(rho;daa;tr.proj;v[i])) (i:||l2||. trace_consistent(rho;daa;tr.proj;l2[i])) ||ls|| = ||v|| & (i:. i < ||v|| ls[i] term_types(ds;da;de;v[i])) ||ls|| = ||l2|| & (i:. i < ||l2|| ls[i] term_types(ds;da;de;l2[i])) (i:. i < ||v|| [[v[i]]] e1 s1 a tr = [[l2[i]]] e1 s1 s2 a tr [[ls[i]]] rho) (list_accum(x,t.x([[t]] e1 s1 a tr);f;v) list_accum(x,t.x([[t]] e1 s1 s2 a tr);f;l2))))
17. l2: Term List
18. u1: Term
19. v1: Term List
20. ||[u / v]|| = ||v1|| (ls:SimpleType List. ||ls|| = ||[u / v]|| (f:reduce(s,m. [[s]] rhom;Prop;ls). (i:||[u / v]||. trace_consistent(rho;daa;tr.proj;[u / v][i])) (i:||v1||. trace_consistent(rho;daa;tr.proj;v1[i])) ||ls|| = ||[u / v]|| & (i:. i < ||[u / v]|| ls[i] term_types(ds;da;de;[u / v][i])) ||ls|| = ||v1|| & (i:. i < ||v1|| ls[i] term_types(ds;da;de;v1[i])) (i:. i < ||[u / v]|| [[[u / v][i]]] e1 s1 a tr = [[v1[i]]] e1 s1 s2 a tr [[ls[i]]] rho) (list_accum(x,t.x([[t]] e1 s1 a tr);f;[u / v]) list_accum(x,t.x([[t]] e1 s1 s2 a tr);f;v1))))
21. ||v||+1 = ||v1||+1
22. ls: SimpleType List
23. u2: SimpleType
24. v2: SimpleType List
25. ||v2|| = ||v||+1 (f:reduce(s,m. [[s]] rhom;Prop;v2). (i:(||v||+1). trace_consistent(rho;daa;tr.proj;[u / v][i])) (i:(||v1||+1). trace_consistent(rho;daa;tr.proj;[u1 / v1][i])) ||v2|| = ||v||+1 & (i:. i < ||v||+1 v2[i] term_types(ds;da;de;[u / v][i])) ||v2|| = ||v1||+1 & (i:. i < ||v1||+1 v2[i] term_types(ds;da;de;[u1 / v1][i])) (i:. i < ||v||+1 [[[u / v][i]]] e1 s1 a tr = [[[u1 / v1][i]]] e1 s1 s2 a tr [[v2[i]]] rho) (list_accum(x,t.x([[t]] e1 s1 a tr);f([[u]] e1 s1 a tr);v) list_accum(x,t.x([[t]] e1 s1 s2 a tr);f([[u1]] e1 s1 s2 a tr);v1)))
26. ||v2||+1 = ||v||+1
27. f: [[u2]] rhoreduce(s,m. [[s]] rhom;Prop;v2)
28. i:(||v||+1). trace_consistent(rho;daa;tr.proj;[u / v][i])
29. i:(||v1||+1). trace_consistent(rho;daa;tr.proj;[u1 / v1][i])
30. ||v2||+1 = ||v||+1 & (i:. i < ||v||+1 [u2 / v2][i] term_types(ds;da;de;[u / v][i]))
31. ||v2||+1 = ||v1||+1 & (i:. i < ||v1||+1 [u2 / v2][i] term_types(ds;da;de;[u1 / v1][i]))
(i:. i < ||v||+1 [[[u / v][i]]] e1 s1 a tr = [[[u1 / v1][i]]] e1 s1 s2 a tr [[[u2 / v2][i]]] rho) (list_accum(x,t.x([[t]] e1 s1 a tr);f([[u]] e1 s1 a tr);v) list_accum(x,t.x([[t]] e1 s1 s2 a tr);f([[u1]] e1 s1 s2 a tr);v1))

About:
listconsintnatural_numberaddless_thanlambda
applyfunctionequalpropimpliesfalse
all

(50steps) PrintForm Definitions Lemmas mb automata 4 Sections GenAutomata Doc