{α : Sort u} →
  {motive : Lean.Data.AC.Context α → Sort u_1} →
    (t : Lean.Data.AC.Context α) →
      ((op : α → α → α) →
          (assoc : Std.Associative op) →
            (comm : Option (PLift (Std.Commutative op))) →
              (idem : Option (PLift (Std.IdempotentOp op))) →
                (vars : List (Lean.Data.AC.Variable op)) →
                  (arbitrary : α) →
                    motive
                      { op := op, assoc := assoc, comm := comm, idem := idem, vars := vars, arbitrary := arbitrary }) →
        motive t