-- Aesop.Options.Public
Aesop.Options.mk.inj : ∀ {strategy : Aesop.Strategy}
  {maxRuleApplicationDepth maxRuleApplications maxGoals maxNormIterations maxSafePrefixRuleApplications : ℕ}
  {applyHypsTransparency assumptionTransparency destructProductsTransparency : Lean.Meta.TransparencyMode}
  {introsTransparency? : Option Lean.Meta.TransparencyMode}
  {terminal warnOnNonterminal traceScript enableSimp useSimpAll useDefaultSimpSet enableUnfold : Bool}
  {strategy_1 : Aesop.Strategy}
  {maxRuleApplicationDepth_1 maxRuleApplications_1 maxGoals_1 maxNormIterations_1 maxSafePrefixRuleApplications_1 : ℕ}
  {applyHypsTransparency_1 assumptionTransparency_1 destructProductsTransparency_1 : Lean.Meta.TransparencyMode}
  {introsTransparency?_1 : Option Lean.Meta.TransparencyMode}
  {terminal_1 warnOnNonterminal_1 traceScript_1 enableSimp_1 useSimpAll_1 useDefaultSimpSet_1 enableUnfold_1 : Bool},
  { strategy := strategy, maxRuleApplicationDepth := maxRuleApplicationDepth,
        maxRuleApplications := maxRuleApplications, maxGoals := maxGoals, maxNormIterations := maxNormIterations,
        maxSafePrefixRuleApplications := maxSafePrefixRuleApplications, applyHypsTransparency := applyHypsTransparency,
        assumptionTransparency := assumptionTransparency, destructProductsTransparency := destructProductsTransparency,
        introsTransparency? := introsTransparency?, terminal := terminal, warnOnNonterminal := warnOnNonterminal,
        traceScript := traceScript, enableSimp := enableSimp, useSimpAll := useSimpAll,
        useDefaultSimpSet := useDefaultSimpSet, enableUnfold := enableUnfold } =
      { strategy := strategy_1, maxRuleApplicationDepth := maxRuleApplicationDepth_1,
        maxRuleApplications := maxRuleApplications_1, maxGoals := maxGoals_1, maxNormIterations := maxNormIterations_1,
        maxSafePrefixRuleApplications := maxSafePrefixRuleApplications_1,
        applyHypsTransparency := applyHypsTransparency_1, assumptionTransparency := assumptionTransparency_1,
        destructProductsTransparency := destructProductsTransparency_1, introsTransparency? := introsTransparency?_1,
        terminal := terminal_1, warnOnNonterminal := warnOnNonterminal_1, traceScript := traceScript_1,
        enableSimp := enableSimp_1, useSimpAll := useSimpAll_1, useDefaultSimpSet := useDefaultSimpSet_1,
        enableUnfold := enableUnfold_1 } →
    strategy = strategy_1 ∧
      maxRuleApplicationDepth = maxRuleApplicationDepth_1 ∧
        maxRuleApplications = maxRuleApplications_1 ∧
          maxGoals = maxGoals_1 ∧
            maxNormIterations = maxNormIterations_1 ∧
              maxSafePrefixRuleApplications = maxSafePrefixRuleApplications_1 ∧
                applyHypsTransparency = applyHypsTransparency_1 ∧
                  assumptionTransparency = assumptionTransparency_1 ∧
                    destructProductsTransparency = destructProductsTransparency_1 ∧
                      introsTransparency? = introsTransparency?_1 ∧
                        terminal = terminal_1 ∧
                          warnOnNonterminal = warnOnNonterminal_1 ∧
                            traceScript = traceScript_1 ∧
                              enableSimp = enableSimp_1 ∧
                                useSimpAll = useSimpAll_1 ∧
                                  useDefaultSimpSet = useDefaultSimpSet_1 ∧ enableUnfold = enableUnfold_1