Home

Module PreservationConstructionStatesDirectNonVirtual

Load PreservationHeader.

Ltac forward := constructor; simpl; intros; try discriminate; try omegaContradiction.
Ltac fin := forward; reflexivity.


Lemma goal : forall obj ar i h p hp,
  valid_pointer hier (Globals.heap (State.global s2)) (Value.subobject obj ar i h p hp) ->
  forall cn, last p = Some cn ->
    forall c, hier ! cn = Some c ->
      forall b, In (Class.Inheritance.Repeated, b) (Class.super c) ->
        constructed_base_child_of (assoc (@pointer_eq_dec _) (obj, (ar, i, (h, p ++ b :: nil))) (State.construction_states s2)) (assoc (@pointer_eq_dec _) (obj, (ar, i, (h, p))) (State.construction_states s2))
        .
Proof.

End Preservation.