| ((s -- s.min) ∩ s0).min ∈ s, ((s -- s.min) ∩ s0).max ∈ s0, ((s -- s.min) ∩ s0).max ∈ s, s.min ∈ s, s.max ∈ s, ((s -- s.min) ∩ s0).min ∈ s0, s0.min ∈ s0, s0.max ∈ s0, ∀ a. ¬ a ∈ s ∩ s0 ⊦ # s = 0, #((s -- s.min) ∩ s0) = 0, # s0 = 0, ((s -- s.min) ∩ s0).max = s.min, ((s -- s.min) ∩ s0).min = s.min, s = ∅, s0 = ∅, (s -- s.min) ∩ s0 = ∅, ((s -- s.min) ∩ s0).min < s0.min, s0.max < ((s -- s.min) ∩ s0).min, s.max < ((s -- s.min) ∩ s0).max, ((s -- s.min) ∩ s0).max < s0.min, s0.max < ((s -- s.min) ∩ s0).max, s.max < ((s -- s.min) ∩ s0).min, s.max < s0.min |
Used simplifier rules: ⊦ a ∈ s1 ∩ s2 ↔ a ∈ s1 ∧ a ∈ s2; (ws)%int-a: ⊦ (s ∩ s0) ∩ s1 = s ∩ s0 ∩ s1; from specification set-union%int-c: ⊦ s ∩ s0 = s0 ∩ s; from specification set-union Used terms: ((s -- s.min) ∩ s0).min