Documentation

Cslib.Data.HasFresh

class HasFresh (α : Type u) :

A type α has a computable fresh function if it is always possible, for any finite set of α, to compute a fresh element not in the set.

  • fresh : Finset αα

    Given a finite set, returns an element not in the set.

  • fresh_notMem (s : Finset α) : fresh ss

    Proof that fresh returns a fresh element for its input set.

Instances
    theorem WithBot.lt_succ {α : Type u} [Preorder α] [OrderBot α] [SuccOrder α] [NoMaxOrder α] (x : WithBot α) :
    x < x.succ
    def HasFresh.ofNatEmbed {α : Type u} [DecidableEq α] (e : α) :

    Construct a fresh element from an embedding of using Nat.find.

    Equations
    Instances For
      def HasFresh.ofSucc {α : Type u} [Inhabited α] [SemilatticeSup α] (f : αα) (hf : ∀ (x : α), x < f x) :

      Construct a fresh element given a function f with x < f x.

      Equations
      Instances For

        has a computable fresh function.

        Equations

        has a computable fresh function.

        Equations

        has a computable fresh function.

        Equations

        If α has a computable fresh function, then so does Finset α.

        Equations

        If α is inhabited, then Multiset α has a computable fresh function.

        Equations

        ℕ → ℕ has a computable fresh function.

        Equations