| is_reftype(ty) ⊦ initial_value(ty) = refval(jvmref) |
⊦ initial_value(boolean_type) = boolval(false)
⊦ initial_value(int_type) = intval(0)
⊦ initial_value(short_type) = shortval(0s)
⊦ initial_value(byte_type) = byteval(0b)
⊦ initial_value(long_type) = longval(0l)
⊦ initial_value(float_type) = floatval(0f)
⊦ initial_value(double_type) = doubleval(0d)
⊦ initial_value(char_type) = charval(mkchar(0))
⊦ initial_value(void_type) = refval(jvmref)
⊦ initial_value(abstract_type) = noval
⊦ initial_value(mkclasstype(class1)) = refval(jvmref)
⊦ initial_value(mkarraytype(ty)) = refval(jvmref)
[[CONCRETESIMPRULES : ([CSIMPGEN : javatype generated by boolean_type, int_type, short_type, byte_type, long_type, float_type, double_type, char_type, void_type, abstract_type, mkclasstype, mkarraytype;], [CSIMPSEQ : ⊦ ¬ is_reftype(abstract_type)], [CSIMPSEQ : ⊦ refval(r) ≠ noval], [CSIMPSEQ : ⊦ refval(r) = refval(r0) ↔ r = r0], [CSIMPSEQ : ⊦ ¬ is_reftype(char_type)], [CSIMPSEQ : ⊦ refval(r) ≠ charval(jchar)], [CSIMPSEQ : ⊦ ¬ is_reftype(double_type)], [CSIMPSEQ : ⊦ refval(r) ≠ doubleval(doublevar)], [CSIMPSEQ : ⊦ ¬ is_reftype(float_type)], [CSIMPSEQ : ⊦ refval(r) ≠ floatval(floatvar)], [CSIMPSEQ : ⊦ ¬ is_reftype(long_type)], [CSIMPSEQ : ⊦ refval(r) ≠ longval(lo)], [CSIMPSEQ : ⊦ ¬ is_reftype(byte_type)], [CSIMPSEQ : ⊦ byteval(by) ≠ refval(r)], [CSIMPSEQ : ⊦ ¬ is_reftype(short_type)], [CSIMPSEQ : ⊦ shortval(sho) ≠ refval(r)], [CSIMPSEQ : ⊦ ¬ is_reftype(boolean_type)], [CSIMPSEQ : ⊦ refval(r) ≠ boolval(boolvar)], [CSIMPSEQ : ⊦ intval(i) ≠ refval(r)], [CSIMPSEQ : ⊦ ¬ is_reftype(int_type)])]]