| is_typevalue((_type = sk ⊃ val; st[r -- _type])) ∧ (r -- _type ∈ st ∨ _type = sk), _mode ∈ st, _out ∈ st, ∀ r. r ≠ jvmref ∧ r ∈ st → r -- _type ∈ st ∧ is_typevalue(st[r -- _type]) ⊦ _mode ∈ st[r -- sk, val] ∧ _out ∈ st[r -- sk, val] ∧ (∀ r0. r0 ≠ jvmref ∧ (r0 = r ∨ r0 ∈ st) → r0 -- _type ∈ st[r -- sk, val] ∧ is_typevalue(((r0 = r ∧ _type = sk) ⊃ val; st[r0 -- _type]))), r = jvmref |
is_typevalue((_type = sk ⊃ val; st[r -- _type])), _mode ∈ st, _out ∈ st, r -- _type ∈ st ∨ _type = sk, ∀ r. r ≠ jvmref ∧ r ∈ st → r -- _type ∈ st ∧ is_typevalue(st[r -- _type]), r0 = r ∨ r0 ∈ st ⊦ r = jvmref, r0 = jvmref, (r0 = r ∧ _type = sk ∨ r0 -- _type ∈ st) ∧ is_typevalue(((r0 = r ∧ _type = sk) ⊃ val; st[r0 -- _type]))
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ r -- sk = r0 -- sk0 ↔ ¬ ¬ (r = r0 ∧ sk = sk0)], [CSIMPSEQ : ⊦ r ≠ jvmref → r -- sk ≠ _out], [CSIMPSEQ : ⊦ r ≠ jvmref → _mode ≠ r -- sk], [CSIMPSEQ : ⊦ rk ∈ st[rk0, val] ↔ rk = rk0 ∨ rk ∈ st])]]