| unique_al(ax0), # ay ≤ # ax0, (∃ ay. # ay < # ax0 ∧ unique_al(ax0.rest) ∧ (∀ a. a ∈ ax0 → a ∈ ay)) → ax0 = [] ∨ ax0.first.1 ∈ ax0.rest, ∀ a0. a0 = a ∨ a0 ∈ ax0 → a0 ∈ ay ⊦ ax0 = [], a ∈ ax0 |
# ay ≤ # ax0, unique_al(ax0.rest), ∀ a0. a0 = a ∨ a0 ∈ ax0 → a0 ∈ ay ⊦ ax0 = [], a ∈ ax0, ax0.first.1 ∈ ax0.rest, ∃ ay0. # ay0 < # ax0 ∧ (∀ a. a ∈ ax0 → a ∈ ay0)
Used simplifier rules: k-unique-r: ⊦ unique_al(ay) ↔ ay = [] ∨ ¬ ay.first.1 ∈ ay.rest ∧ unique_al(ay.rest);