{P : Sort u} →
  {transparency : Lean.Meta.TransparencyMode} →
    {occs : Lean.Meta.Occurrences} →
      {castMode : Mathlib.Tactic.DepRewrite.CastMode} →
        {castTransparency transparency' : Lean.Meta.TransparencyMode} →
          {occs' : Lean.Meta.Occurrences} →
            {castMode' : Mathlib.Tactic.DepRewrite.CastMode} →
              {castTransparency' : Lean.Meta.TransparencyMode} →
                { transparency := transparency, occs := occs, castMode := castMode,
                      castTransparency := castTransparency } =
                    { transparency := transparency', occs := occs', castMode := castMode',
                      castTransparency := castTransparency' } →
                  (transparency = transparency' →
                      occs = occs' → castMode = castMode' → castTransparency = castTransparency' → P) →
                    P