| err = err0, err = ESUCCESS, ⌊err0⌋ ∨ err0 = ESUCCESS ⊦ ⟪jro1 := ∅⟫ ( err = ESUCCESS → true ∧ jro1 < ROOT_INO + 1 ∧ ∅ < ROOT_INO + 1 ∧ ROOT_INO + 1 ≤ ROOT_INO + 1 ∧ ∅.inos < ROOT_INO + 1 ∧ ∅.inos < ROOT_INO + 1 ∧ ROOT_INO + 1 ≠ 0 ∧ ([] ≠ [] → valid-journal-head([], ∅, ∅)) ∧ ∅.lebs ⊆ dom ∅ ∧ ∅.lebs ⊆ dom ∅ ∧ refsize-cons(∅, range ∅) ∧ refsize-cons(∅, range ∅) ∧ inv(∅ \ ∅) ∧ inv(∅) ∧ elems [] ∩ ∅ = ∅ ∧ ¬ dups([]) ∧ dom ∅ ∪ elems [] = dom ∅ ∪ ∅ ∧ remove-refsize0(∅) = ∅ ∧ ri-inj(∅) ∧ ri-inj(∅)) |
Used simplifier rules: ⊦ ¬ ⌊ESUCCESS⌋ ; (s)% ⊦ ∅ < n; (s)% ⊦ m + n ≤ m + n0 ↔ n ≤ n0; (s)%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic%c: ⊦ m + n = n + m; from specification nat-basic% ⊦ ∅.inos = ∅; (s)% ⊦ m + 1 ≠ 0; (s)% ⊦ ∅.lebs = ∅; (s)% ⊦ dom ∅ = ∅; (s)% ⊦ ∅ ⊆ ns; (s)% ⊦ range ∅ = ∅; (s)% ⊦ refsize-cons(∅, ∅); (s)% ⊦ ∅ \ ns = ∅; (s)% ⊦ inv(∅); (s)% ⊦ elems [] = ∅; (s)% ⊦ ns ∩ ∅ = ∅; (s)%int-a: ⊦ (ns ∩ ns0) ∩ ns1 = ns ∩ ns0 ∩ ns1; from specification set-union[nat-set]%int-c: ⊦ ns ∩ ns0 = ns0 ∩ ns; from specification set-union[nat-set]% ⊦ ¬ dups([]); (s)% ⊦ ns ∪ ∅ = ns; (s)%una: ⊦ (ns ∪ ns0) ∪ ns1 = ns ∪ ns0 ∪ ns1; from specification set-union[nat-set]%unc: ⊦ ns ∪ ns0 = ns0 ∪ ns; from specification set-union[nat-set]% ⊦ remove-refsize0(∅) = ∅; (s)% ⊦ ri-inj(∅); (s)