| ⊦ σ0 = ⌜nf⌝ to n ∧ σ1 = ⌜nf⌝ from n ↔ ⌜nf⌝ = σ0 + σ1 ∧ # σ0 = ⌜n⌝ , # ⌜nf⌝ < ⌜n⌝ |
⌜nf⌝ = σ0 + σ1, # σ0 = ⌜n⌝ ⊦ σ0 = ⌜nf to n⌝ ∧ σ1 = ⌜nf from n⌝
Used simplifier rules: to-inf: ⊦ ⌜nf⌝ to n = ⌜nf to n⌝ ;%from-inf: ⊦ ⌜nf⌝ from n = ⌜nf from n⌝ ;%to-plus-from-inf-simp: ⊦ ⌜nf to n⌝ + ⌜nf from n⌝ ≠ ⌜nf⌝ ↔ false;%append-assoc: ⊦ (σ + σ1) + σ2 = σ + σ1 + σ2;%inf-size-to: ⊦ # ⌜nf to n⌝ = ⌜n⌝ ;%size-inf: ⊦ # ⌜nf⌝ = ∞;%less-inf1: ⊦ ¬ ∞ < n∞; from specification nat-inf%inj: ⊦ ⌜m⌝ = ⌜m0⌝ ↔ m = m0; from specification nat-inf-basic