Documentation

Lean.Meta.Tactic.Intro

Similar to mkFreshUserName, but takes into account tactic.hygienic option value. If tactic.hygienic = true, then the current macro scopes are applied to binderName. If not, then an unused (accessible) name (based on binderName) in the local context is used.

Instances For
    def Lean.Meta.introNCore (mvarId : Lean.MVarId) (n : Nat) (givenNames : List Lake.Name) (useNamesForExplicitOnly : Bool) (preserveBinderNames : Bool) :
    Instances For
      @[inline, reducible]
      abbrev Lean.MVarId.introN (mvarId : Lean.MVarId) (n : Nat) (givenNames : optParam (List Lake.Name) []) (useNamesForExplicitOnly : optParam Bool false) :

      Introduce n binders in the goal mvarId.

      Instances For
        @[inline, reducible, deprecated Lean.MVarId.introN]
        abbrev Lean.Meta.introN (mvarId : Lean.MVarId) (n : Nat) (givenNames : optParam (List Lake.Name) []) (useNamesForExplicitOnly : optParam Bool false) :
        Instances For
          @[inline, reducible]

          Introduce n binders in the goal mvarId. The new hypotheses are named using the binder names. The suffix P stands for "preserving`.

          Instances For
            @[inline, reducible, deprecated Lean.MVarId.introNP]
            Instances For

              Introduce one binder using name as the the new hypothesis name.

              Instances For
                @[deprecated Lean.MVarId.intro]
                Instances For
                  def Lean.Meta.intro1Core (mvarId : Lean.MVarId) (preserveBinderNames : Bool) :
                  Instances For
                    @[inline, reducible]

                    Introduce one object from the goal mvarid, without preserving the name used in the binder. Returns a pair made of the newly introduced variable (which will have an inaccessible name) and the new goal. This will fail if there is nothing to introduce, ie when the goal does not start with a forall, lambda or let.

                    Instances For
                      @[inline, reducible, deprecated Lean.MVarId.intro1]
                      Instances For
                        @[inline, reducible]

                        Introduce one object from the goal mvarid, preserving the name used in the binder. Returns a pair made of the newly introduced variable and the new goal. This will fail if there is nothing to introduce, ie when the goal does not start with a forall, lambda or let.

                        Instances For
                          @[inline, reducible, deprecated Lean.MVarId.intro1P]
                          Instances For

                            Introduce as many binders as possible without unfolding definitions.

                            Instances For
                              @[deprecated Lean.MVarId.intros]
                              Instances For