let sigma is_equal op l = match op, l with | Create, [a] -> mk_create a | Update, [a; i; x] -> mk_update is_equal a i x | Select, [a; j] -> mk_select is_equal a j | _ -> assert false