File tree Expand file tree Collapse file tree 1 file changed +61
-0
lines changed
Expand file tree Collapse file tree 1 file changed +61
-0
lines changed Original file line number Diff line number Diff line change @@ -1426,6 +1426,7 @@ Proof.
14261426 lia.
14271427 }
14281428 clear Hf Hf'.
1429+ rename Hf'' into Hf.
14291430
14301431Admitted .
14311432
@@ -1582,6 +1583,66 @@ Section rules.
15821583 by iIntros "_".
15831584 Qed .
15841585
1586+ Lemma nfalse_bottom m (α : IT) : ▷^m False ⊢@{iProp} Tick_n m α ≡ core.Bottom.
1587+ Proof .
1588+ induction m as [| m' IH].
1589+ - by iIntros "?".
1590+ - iIntros "H".
1591+ rewrite Bottom_unfold /=.
1592+ rewrite Tick_eq.
1593+ iApply Tau_inj'.
1594+ iNext.
1595+ by iApply IH.
1596+ Qed .
1597+
1598+ Lemma IT_Rel_bottom_r `{!SubOfe nat R} `{HSTATE : !stateG rs R Σ}
1599+ : £ 1 ⊢ (Ret 0) ⪯ₚ (core.Bottom) @{ rs \ R \ s \ HSTATE }.
1600+ Proof .
1601+ iIntros "HCred HInv".
1602+ iIntros (j K) "Hpt".
1603+ iApply wp_val.
1604+ iAssert (∃ n, ▷^n False)%I as (m) "HF".
1605+ {
1606+ iLöb as "IH".
1607+ iDestruct "IH" as (m) "IH".
1608+ iExists (S m).
1609+ by iNext.
1610+ }
1611+ iRewrite - (nfalse_bottom m (Ret 0) with "HF") in "Hpt".
1612+ iExists (RetV 0).
1613+ iMod (step_steps_not_stateful _ _ _ emp%I _ _ _ (K (Ret 0)) [] m
1614+ with "[$HCred $HInv $Hpt]") as "(_ & J & _)".
1615+ - done.
1616+ - iSplit; first done.
1617+ iIntros (σ).
1618+ iClear "HF".
1619+ iInduction m as [| m' IH].
1620+ + iApply internal_steps_0.
1621+ done.
1622+ + iApply internal_steps_S.
1623+ iExists (K (Tick_n m' (Ret 0))), σ, [], [].
1624+ iSplit; first done.
1625+ iSplit.
1626+ * iLeft.
1627+ iSimpl.
1628+ rewrite hom_tick.
1629+ done.
1630+ * iApply "IH".
1631+ - rewrite IT_of_V_Ret.
1632+ iFrame "J".
1633+ iModIntro.
1634+ rewrite IT_Val_Rel_unfold.
1635+ iLeft.
1636+ iExists ((subOfe_in (inl 0))), ((subOfe_in (inl 0))).
1637+ iSplit.
1638+ + rewrite IT_of_V_Ret.
1639+ by iPureIntro.
1640+ + iSplit.
1641+ * rewrite IT_of_V_Ret.
1642+ by iPureIntro.
1643+ * done.
1644+ Qed .
1645+
15851646 Lemma IT_Rel_bottom_l `{HSTATE : !stateG rs R Σ} e
15861647 : ⊢ (core.Bottom) ⪯ₚ (e) @{ rs \ R \ s \ HSTATE }.
15871648 Proof .
You can’t perform that action at this time.
0 commit comments