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