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

At: wp2 rel correct 2 1 2 1 1 1 2 2 1 1 2 1 2 1 1

1. A: ioa{i:l}()
2. r: rel()
3. rho: Decl
4. de: sig()
5. e: {[[de]] rho}
6. a: ([[A.da]] rho)
7. tr: trace_env([[A.da]] rho)
8. tc_ioa(A;de)
9. ioa_mentions_trace(A)
10. trace_consistent_rel(rho;A.da;tr.proj;r)
11. single_valued_decls(A.ds)
12. s: {[[A.ds]] rho}
13. x': {[[A.ds]] rho}
14. tc(r;A.ds;dec_lookup(A.da;kind(a));de)
15. covers_rel(A;r)
16. p:pre(). p A.pre p.kind = kind(a) [[p.rel]] rho A.ds dec_lookup(A.da;kind(a)) de e s value(a) niltrace()
17. ef:eff(). ef A.eff ef.kind = kind(a) x'.ef.smt.lbl = [[ef.smt.term]] 1of(e) s value(a) niltrace() [[ef.smt.typ]] rho
18. tc(r;A.ds;dec_lookup(A.da;kind(a));de)
19. fr:frame(). fr A.frame (kind(a) fr.acts) x'.fr.var = s.fr.var [[fr.typ]] rho
20. x:Label. rel_mentions(r;x) covers_var(A;x)
21. value(a) [[dec_lookup(A.da;kind(a))]] rho
22. r@0:rel(). r@0 col_subst2(x.smts_eff(action_effect(kind(a);A.eff;A.frame);x);r) [[r@0]] rho A.ds dec_lookup(A.da;kind(a)) de e s value(a) tr
23. r': rel()
24. as: (LabelTerm) List
25. 1of(unzip(as)) = rel_primed_vars(r)
26. i:. i < ||as|| 2of(as[i]) smts_eff(action_effect(kind(a);A.eff;A.frame);1of(as[i]))
27. r' = rel_subst2(as;r)
28. x: Label
29. (x 1of(unzip(as)))
30. i:
31. i < ||as||
32. < x,apply_alist(as;x;x) > = as[i]
33. xxx: Term
34. 2of(as[i]) = xxx
35. xx: Label
36. 1of(as[i]) = xx
37. s1: smt()
38. f: frame()
39. f A.frame
40. (kind(a) f.acts)
41. s1 = mk_smt(f.var, f.var, f.typ)
42. x'.f.var = s.f.var [[f.typ]] rho
43. t: SimpleType
44. mk_dec(f.var, t) A.ds

t = f.typ

By: AllHyps (i.(Unfold `single_valued_decls` i) THEN (InstHyp [f.var] i) THEN (BackThru -1))

Generated subgoal:

111. x:Label, t1,t2:SimpleType. mk_dec(x, t1) A.ds mk_dec(x, t2) A.ds t1 = t2
12. s: {[[A.ds]] rho}
13. x': {[[A.ds]] rho}
14. tc(r;A.ds;dec_lookup(A.da;kind(a));de)
15. covers_rel(A;r)
16. p:pre(). p A.pre p.kind = kind(a) [[p.rel]] rho A.ds dec_lookup(A.da;kind(a)) de e s value(a) niltrace()
17. ef:eff(). ef A.eff ef.kind = kind(a) x'.ef.smt.lbl = [[ef.smt.term]] 1of(e) s value(a) niltrace() [[ef.smt.typ]] rho
18. tc(r;A.ds;dec_lookup(A.da;kind(a));de)
19. fr:frame(). fr A.frame (kind(a) fr.acts) x'.fr.var = s.fr.var [[fr.typ]] rho
20. x:Label. rel_mentions(r;x) covers_var(A;x)
21. value(a) [[dec_lookup(A.da;kind(a))]] rho
22. r@0:rel(). r@0 col_subst2(x.smts_eff(action_effect(kind(a);A.eff;A.frame);x);r) [[r@0]] rho A.ds dec_lookup(A.da;kind(a)) de e s value(a) tr
23. r': rel()
24. as: (LabelTerm) List
25. 1of(unzip(as)) = rel_primed_vars(r)
26. i:. i < ||as|| 2of(as[i]) smts_eff(action_effect(kind(a);A.eff;A.frame);1of(as[i]))
27. r' = rel_subst2(as;r)
28. x: Label
29. (x 1of(unzip(as)))
30. i:
31. i < ||as||
32. < x,apply_alist(as;x;x) > = as[i]
33. xxx: Term
34. 2of(as[i]) = xxx
35. xx: Label
36. 1of(as[i]) = xx
37. s1: smt()
38. f: frame()
39. f A.frame
40. (kind(a) f.acts)
41. s1 = mk_smt(f.var, f.var, f.typ)
42. x'.f.var = s.f.var [[f.typ]] rho
43. t: SimpleType
44. mk_dec(f.var, t) A.ds
45. t1,t2:SimpleType. mk_dec(f.var, t1) A.ds mk_dec(f.var, t2) A.ds t1 = t2
mk_dec(f.var, f.typ) A.ds

About:
pairproductlistless_thanlambdaequalmemberimpliesall

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