| unique_al(((a0 × d0)' + ax0) + (a × d)'), (∃ a, d. unique_al(ax0 + (a × d)')) → ax0 = [] ∨ ¬ ax0.first.1 ∈ ax0.rest ∧ unique_al(ax0.rest) ⊦ ¬ (a0 × d0).1 ∈ ax0 ∧ unique_al(ax0) |
unique_al(ax0 + (a × d)') ⊦ a0 = a, ax0 = [], a0 ∈ ax0, ¬ ax0.first.1 ∈ ax0.rest ∧ unique_al(ax0.rest), ∃ a, d. unique_al(ax0 + (a × d)')
Used simplifier rules: cons: ⊦ unique_al((a × d)' + ax) ↔ ¬ a ∈ ax ∧ unique_al(ax);%inapp: ⊦ a ∈ ax + ay ↔ ¬ ¬(a ∈ ax ∨ a ∈ ay);%inone: ⊦ a ∈ (b × d0)' ↔ a = b;%k-unique-r: ⊦ unique_al(ay) ↔ ay = [] ∨ ¬ ay.first.1 ∈ ay.rest ∧ unique_al(ay.rest);%sel-02: ⊦ (a × d).1 = a; from specification pair%a: ⊦ (ax + ax0) + ax1 = ax + ax0 + ax1; from specification list[assoclista]