| 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 ⊦ a ∈ ax0 |
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
Used simplifier rules: unique-e: ⊦ unique_al([]);%empty: ⊦ ¬ a ∈ [];% ⊦ # [] = 0; (s)% ⊦ m ≤ 0 ↔ m = 0; (s)% ⊦ # ax = 0 ↔ ax = []; (s)% ⊦ ¬ m < 0; (s) Used formulas: ax0 = []