(65steps) (too big for print form) Definitions Lemmas mb automata 4 Sections GenAutomata Doc

At: rel subst mng 2 iff 1 2 1

1. r: rel()
2. as: (LabelTerm) List
3. ds: Collection(dec())
4. daa: Collection(dec())
5. da: Collection(SimpleType)
6. de: sig()
7. rho: Decl
8. e: {[[de]] rho}
9. s: {[[ds]] rho}
10. s': {[[ds]] rho}
11. k: Label
12. a: [[da]] rho
13. tr: trace_env([[daa]] rho)
14. trace_consistent_rel(rho;daa;tr.proj;r)
15. tc(r;ds;da;de)
16. subst_mentions_trace(as)
17. x:Label. (x rel_primed_vars(r)) (t:SimpleType. mk_dec(x, t) ds t term_types(ds;da;de;apply_alist(as;x;x)) & s'.x = [[apply_alist(as;x;x)]] 1of(e) s a tr [[t]] rho)
18. tc(rel_subst2(as;r);ds;da;de) & trace_consistent_rel(rho;daa;tr.proj;rel_subst2(as;r))
19. ||rel_subst2(as;r).args|| = ||r.args||

[[rel_subst2(as;r)]] rho ds da de e s a tr rel_mng_2(r; rho; ds; da; de; e; s; s'; a; tr)

By:
Inst Thm* r1,r2:rel(), ds,daa:Collection(dec()), da:Collection(SimpleType), de:sig(), rho:Decl, e:{[[de]] rho}, s1,s2:{[[ds]] rho}, a:[[da]] rho, tr:trace_env([[daa]] rho). trace_consistent_rel(rho;daa;tr.proj;r1) trace_consistent_rel(rho;daa;tr.proj;r2) tc(r1;ds;da;de) tc(r2;ds;da;de) r1.name = r2.name ||r1.args|| = ||r2.args|| (i:. i < ||r1.args|| [[r1.args[i]]] 1of(e) s1 a tr = [[r2.args[i]]] 1of(e) s1 s2 a tr [[rel_arg_typ(r1.name;i;de)]] rho) ([[r1]] rho ds da de e s1 a tr rel_mng_2(r2; rho; ds; da; de; e; s1; s2; a; tr)) [rel_subst2(as;r);r;ds;daa;da;de;rho;e;s;s';a;tr]
THEN
Try Trivial
THEN
Try (Complete Auto)
THEN
Try ((Unfold `rel_subst2` 0) THEN (Reduce 0) THEN (Complete Auto))


Generated subgoal:

118. tc(rel_subst2(as;r);ds;da;de)
19. trace_consistent_rel(rho;daa;tr.proj;rel_subst2(as;r))
20. ||rel_subst2(as;r).args|| = ||r.args||
21. i:
22. i < ||rel_subst2(as;r).args||
[[rel_subst2(as;r).args[i]]] 1of(e) s a tr = [[r.args[i]]] 1of(e) s s' a tr [[rel_arg_typ(rel_subst2(as;r).name;i;de)]] rho

About:
productlistassertintequalimpliesandall

(65steps) (too big for print form) Definitions Lemmas mb automata 4 Sections GenAutomata Doc