| (p0 ' + ax0) + p ' + ay = [] ∨ ¬ ((p0 ' + ax0) + p ' + ay).first.1 ∈ ((p0 ' + ax0) + p ' + ay).rest ∧ unique_al(((p0 ' + ax0) + p ' + ay).rest), ∀ p, ay. unique_al(ax0 + p ' + ay) → ax0 + ay = [] ∨ ¬ (ax0 + ay).first.1 ∈ (ax0 + ay).rest ∧ unique_al((ax0 + ay).rest) ⊦ ¬ p0.1 ∈ ax0 ∧ ¬ p0.1 ∈ ay ∧ unique_al(ax0 + ay) |
unique_al(ax0 + p ' + ay), ∀ p, ay. unique_al(ax0 + p ' + ay) → ax0 + ay = [] ∨ ¬ (ax0 + ay).first.1 ∈ (ax0 + ay).rest ∧ unique_al((ax0 + ay).rest) ⊦ ax0 + ay = [], p0.1 ∈ ay, p0.1 ∈ p ', p0.1 ∈ ax0, ¬ (ax0 + ay).first.1 ∈ (ax0 + ay).rest ∧ unique_al((ax0 + ay).rest)
Used simplifier rules: inapp: ⊦ a ∈ ax + ay ↔ ¬ ¬(a ∈ ax ∨ a ∈ ay);%k-unique-r: ⊦ unique_al(ay) ↔ ay = [] ∨ ¬ ay.first.1 ∈ ay.rest ∧ unique_al(ay.rest);%c-07: ⊦ (p ' + ax).rest = ax; from specification list[assoclista]%c-08: ⊦ (p ' + ax).first = p; from specification list[assoclista]%a: ⊦ (ax + ax0) + ax1 = ax + ax0 + ax1; from specification list[assoclista]%e-01: ⊦ p ' + ax ≠ []; from specification list[assoclista]