| ⊦ disk-layout(mksb(adr0, m1, m2, m3, m4, m5, m6), # lpt) ↔ m2 = SB_LOG + 1 ∧ m3 = SB_ORPH + 1 ∧ m5 = SB_LPT + lptlebs(# lpt, LEB_SIZE) ∧ m6 = SB_LPT + 2 * lptlebs(# lpt, LEB_SIZE), m2 = 1 |
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;% ⊦ m + n = m + n0 ↔ n = n0; (s)% ⊦ mksb(adr, m, m0, m1, m2, m3, m4).main = m4; (s)% ⊦ mksb(adr, m, m0, m1, m2, m3, m4).lpt = m3; (s)% ⊦ mksb(adr, m, m0, m1, m2, m3, m4).orph = m1; (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).log = m0; (s)