Documentation

Lean.Level

def Nat.imax (n m : Nat) :
Instances For

    Cached hash code, cached results, and other data for Level. hash : 32-bits hasMVar : 1-bit hasParam : 1-bit depth : 24-bits

    Instances For
      @[implicit_reducible]
      Instances For
        @[implicit_reducible]
        Instances For
          Instances For
            Instances For
              @[extern lean_level_mk_data]
              opaque Lean.Level.mkData (h : UInt64) (depth : Nat := 0) (hasMVar hasParam : Bool := false) :
              @[implicit_reducible]

              Universe level metavariable Id

              Instances For
                @[implicit_reducible]
                @[implicit_reducible]
                @[reducible, inline]

                Short for LevelMVarId

                Instances For
                  @[implicit_reducible]
                  Instances For
                    @[implicit_reducible]
                    Instances For
                      @[implicit_reducible]
                      @[implicit_reducible]
                      instance Lean.instForInLMVarIdMapProdLMVarIdOfMonad {m : Type u_1 → Type u_2} {α : Type} [Monad m] :
                      @[implicit_reducible]
                      @[implemented_by Lean.Level.data._override]
                      noncomputable def Lean.Level.data :
                      Instances For
                        inductive Lean.Level :
                        Instances For
                          @[implicit_reducible]
                          Instances For
                            @[implicit_reducible]
                            Instances For
                              @[implicit_reducible]
                              Instances For
                                Instances For
                                  Instances For
                                    @[export lean_level_hash]
                                    Instances For
                                      @[export lean_level_has_mvar]
                                      Instances For
                                        @[export lean_level_has_param]
                                        Instances For
                                          @[export lean_level_depth]
                                          Instances For
                                            @[implicit_reducible]
                                            Instances For
                                              Instances For
                                                Instances For
                                                  Instances For
                                                    Instances For
                                                      Instances For
                                                        Instances For
                                                          @[export lean_level_mk_zero]
                                                          Instances For
                                                            @[export lean_level_mk_succ]
                                                            Instances For
                                                              @[export lean_level_mk_mvar]
                                                              Instances For
                                                                @[export lean_level_mk_param]
                                                                Instances For
                                                                  @[export lean_level_mk_max]
                                                                  Instances For
                                                                    @[export lean_level_mk_imax]
                                                                    Instances For
                                                                      Instances For
                                                                        Instances For
                                                                          Instances For
                                                                            Instances For
                                                                              Instances For
                                                                                Instances For
                                                                                  Instances For
                                                                                    Instances For

                                                                                      If result is true, then forall assignments A which assigns all parameters and metavariables occurring in l, l[A] != zero

                                                                                      Instances For

                                                                                        Returns true if and only if l evaluates to zero for all instantiations of parameters and meta-variables.

                                                                                        Instances For
                                                                                          @[implicit_reducible]
                                                                                          Instances For
                                                                                            @[implicit_reducible]
                                                                                            Instances For
                                                                                              Instances For
                                                                                                Instances For
                                                                                                  Instances For
                                                                                                    Instances For
                                                                                                      Instances For
                                                                                                        @[extern lean_level_eq]
                                                                                                        opaque Lean.Level.beq (a b : Level) :
                                                                                                        @[implicit_reducible]

                                                                                                        occurs u l return true iff u occurs in l.

                                                                                                        Instances For
                                                                                                          Instances For
                                                                                                            @[irreducible]
                                                                                                            Instances For
                                                                                                              def Lean.Level.normLt (l₁ l₂ : Level) :

                                                                                                              A total order on level expressions that has the following properties

                                                                                                              • succ l is an immediate successor of l.
                                                                                                              • zero is the minimal element. This total order is used in the normalization procedure.
                                                                                                              Instances For

                                                                                                                Return true if u and v denote the same level. Check is currently incomplete.

                                                                                                                Instances For

                                                                                                                  Reduce (if possible) universe level by 1

                                                                                                                  Instances For
                                                                                                                    Instances For
                                                                                                                      Instances For
                                                                                                                        def Lean.Level.format (u : Level) (mvars : Bool) :
                                                                                                                        Instances For
                                                                                                                          @[implicit_reducible]
                                                                                                                          @[implicit_reducible]
                                                                                                                          def Lean.Level.quote (u : Level) (prec : Nat := 0) (mvars : Bool := true) :
                                                                                                                          Instances For
                                                                                                                            @[implicit_reducible]

                                                                                                                            Similar to mkLevelMax, but applies cheap simplifications

                                                                                                                            Instances For
                                                                                                                              Instances For

                                                                                                                                Similar to mkLevelIMax, but applies cheap simplifications

                                                                                                                                Instances For
                                                                                                                                  Instances For

                                                                                                                                    The update functions try to avoid allocating new values using pointer equality. Note that if the update*! functions are used under a match-expression, the compiler will eliminate the double-match.

                                                                                                                                    @[implemented_by _private.Lean.Level.0.Lean.Level.updateSucc!Impl]
                                                                                                                                    def Lean.Level.updateSucc! (lvl newLvl : Level) :
                                                                                                                                    Instances For
                                                                                                                                      @[implemented_by _private.Lean.Level.0.Lean.Level.updateMax!Impl]
                                                                                                                                      def Lean.Level.updateMax! (lvl newLhs newRhs : Level) :
                                                                                                                                      Instances For
                                                                                                                                        @[implemented_by _private.Lean.Level.0.Lean.Level.updateIMax!Impl]
                                                                                                                                        def Lean.Level.updateIMax! (lvl newLhs newRhs : Level) :
                                                                                                                                        Instances For
                                                                                                                                          @[specialize #[]]
                                                                                                                                          Instances For
                                                                                                                                            def Lean.Level.instantiateParams (u : Level) (paramNames : List Name) (vs : List Level) :
                                                                                                                                            Instances For
                                                                                                                                              Instances For
                                                                                                                                                @[reducible, inline]
                                                                                                                                                abbrev Lean.LevelMap (α : Type) :
                                                                                                                                                Instances For
                                                                                                                                                  @[reducible, inline]
                                                                                                                                                  Instances For
                                                                                                                                                    @[reducible, inline]
                                                                                                                                                    Instances For
                                                                                                                                                      @[reducible, inline]
                                                                                                                                                      Instances For
                                                                                                                                                        @[reducible, inline]
                                                                                                                                                        Instances For
                                                                                                                                                          Instances For
                                                                                                                                                            def Lean.Level.any (u : Level) (p : LevelBool) :
                                                                                                                                                            Instances For
                                                                                                                                                              @[reducible, inline]
                                                                                                                                                              abbrev Nat.toLevel (n : Nat) :
                                                                                                                                                              Instances For