| ⊦ okval(byteval(by), ty) ∧ mkfs(class, ty, fieldvar) ' ≠ _length ↔ ty = byte_type |
⊦ okval(val, ty) ↔ is_boolvalue(val) ∧ ty = boolean_type ∨ is_integervalue(val) ∧ ty = int_type ∨ is_shortvalue(val) ∧ ty = short_type ∨ is_bytevalue(val) ∧ ty = byte_type ∨ is_longvalue(val) ∧ ty = long_type ∨ is_floatvalue(val) ∧ ty = float_type ∨ is_doublevalue(val) ∧ ty = double_type ∨ is_charvalue(val) ∧ ty = char_type ∨ is_referencevalue(val) ∧ (is_classtype(ty) ∨ is_arraytype(ty) ∨ ty = void_type)
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ ¬ is_boolvalue(byteval(by))], [CSIMPSEQ : ⊦ ¬ is_integervalue(byteval(by))], [CSIMPSEQ : ⊦ ¬ is_shortvalue(byteval(by))], [CSIMPSEQ : ⊦ is_bytevalue(byteval(by))], [CSIMPSEQ : ⊦ ¬ is_longvalue(byteval(by))], [CSIMPSEQ : ⊦ ¬ is_floatvalue(byteval(by))], [CSIMPSEQ : ⊦ ¬ is_doublevalue(byteval(by))], [CSIMPSEQ : ⊦ ¬ is_charvalue(byteval(by))], [CSIMPSEQ : ⊦ ¬ is_referencevalue(byteval(by))], [CSIMPFORWARD : ⊦ mkfs(class1, ty, fieldvar) ' = _length → class1 = `*Array*' .class ∧ ty = int_type ∧ fieldvar = `length' .field], [CSIMPSEQ : ⊦ int_type ≠ byte_type])], [EXTRATERMS : (ty, byteval(by))]]