| m4 + n < m3 + lptlebs(mainareasize, LEB_SIZE), disk-layout(mksb(adr, m0, m1, m2, m, m3, m4), mainareasize) ⊦ |
lptlebs(mainareasize, LEB_SIZE) + 5 + n < m3, m1 = 1 ∧ m2 = 3 ∧ m3 = 5 ∨ m1 = 2 ∧ m2 = 4 ∧ m3 = 5 + lptlebs(mainareasize, LEB_SIZE) ⊦
Used simplifier rules: disk-layout: ⊦ disk-layout(sb, mainareasize) ↔ ( sb.log = SB_LOG ∧ sb.orph = SB_ORPH ∧ sb.lpt = SB_LPT ∨ sb.log = SB_LOG + 1 ∧ sb.orph = SB_ORPH + 1 ∧ sb.lpt = SB_LPT + lptlebs(mainareasize, LEB_SIZE)) ∧ sb.main = SB_LPT + 2 * lptlebs(mainareasize, LEB_SIZE);%sb-log: ⊦ SB_LOG = 1;%sb-orph: ⊦ SB_ORPH = 3;%sb-lpt: ⊦ SB_LPT = 5;%mult-c: ⊦ m * n = n * m; from specification nat-mult%mult-a: ⊦ m0 * m * n = (m0 * m) * n; from specification nat-mult% ⊦ m0 * 1 = m0; (s)%m2 ≠ 0 ⊦ (* m2) * m + n < m + n0 ↔ (m2 - 1) * m + n < n0; (s)% ⊦ m < n → n ≠ 0; (s)%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic% ⊦ mksb(adr, m, m0, m1, m2, m3, m4).main = m4; (s)%c: ⊦ m + n = n + m; from specification nat-basic%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic% ⊦ mksb(adr, m, m0, m1, m2, m3, m4).lpt = m3; (s)% ⊦ mksb(adr, m, m0, m1, m2, m3, m4).orph = m1; (s)% ⊦ mksb(adr, m, m0, m1, m2, m3, m4).log = m0; (s)