fact: Definition list_assoc_inv := (fix list_assoc_inv_rec (A:Type) (B:Set) (eq_dec:forall e1 e2:B, {e1 = e2} + {e1 <> e2}) (lst : list (prodT A B)) {struct lst} : B -> A -> A := fun (key:B) (default:A) => match lst with | nil => default | cons (pairT v e) l => match eq_dec e key with | left _ => v | right _ => list_assoc_inv_rec A B eq_dec l key default end end).
imports: Recdef NArith Sorting GeoCoq.Tactics.Coinc.Permutations GeoCoq.Utils.general_tactics GeoCoq.Utils.sets