Documentation

Projects.AP.FSP

structure AP.FSP :
Instances For
    theorem AP.FSP.ext_iff {x y : FSP} :
    x = y x.get = y.get
    theorem AP.FSP.ext {x y : FSP} (get : x.get = y.get) :
    x = y
    @[instance_reducible]
    Equations
    theorem AP.FSP.empty_def :
    = { get := fun (x : ) => }
    @[instance_reducible]
    Equations
    @[instance_reducible]
    Equations
    theorem AP.FSP.union_def {a b : FSP} :
    a b = { get := fun (i : ) => a.get i b.get i }
    @[instance_reducible]
    Equations
    theorem AP.FSP.inter_def {a b : FSP} :
    a b = { get := fun (i : ) => a.get i b.get i }
    def AP.FSP.next (fsp : FSP) :
    Equations
    Instances For
      def AP.FSP.offset (fsp : FSP) (n : ) :
      Equations
      Instances For
        def AP.FSP.hasLe (a : FSP) (n : ) (p : PointZ) :
        Equations
        Instances For
          def AP.FSP.insertSet (fsp : FSP) (n : ) (ps : Set PointZ) :
          Equations
          Instances For
            def AP.FSP.insert (fsp : FSP) (n : ) (p : PointZ) :
            Equations
            Instances For
              def AP.FSP.Subset (a b : FSP) :
              Equations
              Instances For
                @[instance_reducible]
                Equations
                @[simp]
                theorem AP.FSP.hasLe_next {a : FSP} {n : } {p : PointZ} :
                a.next.hasLe n p a.hasLe (n + 1) p
                theorem AP.FSP.hasLe_insertSet_eq_of_lt {fsp : FSP} {n k : } {ps : Set PointZ} (h : k < n) :
                (fsp.insertSet n ps).hasLe k = fsp.hasLe k
                theorem AP.FSP.hasLe_insert_eq_of_lt {fsp : FSP} {n k : } {p : PointZ} (h : k < n) :
                (fsp.insert n p).hasLe k = fsp.hasLe k
                @[simp]
                theorem AP.FSP.insertSet_empty {fsp : FSP} {n : } :
                fsp.insertSet n = fsp
                theorem AP.FSP.insertSet_insert {fsp : FSP} {n : } {p : PointZ} {ps : Set PointZ} :
                (fsp.insertSet n ps).insert n p = fsp.insertSet n (insert p ps)
                theorem AP.FSP.insertSet_set_insert {fsp : FSP} {n : } {p : PointZ} {ps : Set PointZ} :
                fsp.insertSet n (insert p ps) = (fsp.insertSet n ps).insert n p
                @[simp]
                theorem AP.FSP.get_insertSet_of_eq {fsp : FSP} {n : } {ps : Set PointZ} :
                (fsp.insertSet n ps).get n = ps fsp.get n
                @[simp]
                theorem AP.FSP.get_insert_of_eq {fsp : FSP} {n : } {p : PointZ} :
                (fsp.insert n p).get n = insert p (fsp.get n)
                theorem AP.FSP.hasLe_insertSet_of_le {fsp : FSP} {m n k : } {ps : Set PointZ} {p : PointZ} (h₁ : (fsp.insertSet m ps).hasLe k p) (h₂ : m k) (h₃ : n k) :
                (fsp.insertSet n ps).hasLe k p
                theorem AP.FSP.hasLe_insert_of_le {fsp : FSP} {m n k : } {p p₁ : PointZ} (h₁ : (fsp.insert m p).hasLe k p₁) (h₂ : m k) (h₃ : n k) :
                (fsp.insert n p).hasLe k p₁
                theorem AP.FSP.insertSet_comm {fsp : FSP} {n m : } {ps₁ ps₂ : Set PointZ} :
                (fsp.insertSet n ps₁).insertSet m ps₂ = (fsp.insertSet m ps₂).insertSet n ps₁
                theorem AP.FSP.insert_comm {fsp : FSP} {n m : } {p₁ p₂ : PointZ} :
                (fsp.insert n p₁).insert m p₂ = (fsp.insert m p₂).insert n p₁
                theorem AP.FSP.insertSet_insert_comm {fsp : FSP} {n m : } {ps₁ : Set PointZ} {p₂ : PointZ} :
                (fsp.insertSet n ps₁).insert m p₂ = (fsp.insert m p₂).insertSet n ps₁
                theorem AP.FSP.insert_insertSet_comm {fsp : FSP} {n m : } {p₁ : PointZ} {ps₂ : Set PointZ} :
                (fsp.insert n p₁).insertSet m ps₂ = (fsp.insertSet m ps₂).insert n p₁
                theorem AP.FSP.hasLe_insertSet_of_hasLe {fsp : FSP} {n k : } {ps : Set PointZ} {p : PointZ} (h₁ : fsp.hasLe k p) :
                (fsp.insertSet n ps).hasLe k p
                theorem AP.FSP.hasLe_insertSet_of_le_and_le {fsp : FSP} {m n k : } {ps : Set PointZ} {p : PointZ} (h₁ : (fsp.insertSet n ps).hasLe k p) (h₂ : m n) :
                (fsp.insertSet m ps).hasLe k p
                theorem AP.FSP.hasLe_insert_of_le_and_le {fsp : FSP} {m n k : } {p p₁ : PointZ} (h₁ : (fsp.insert n p).hasLe k p₁) (h₂ : m n) :
                (fsp.insert m p).hasLe k p₁
                @[simp]
                theorem AP.FSP.get_insertSet_of_ne {fsp : FSP} {n k : } {ps : Set PointZ} (h : k n) :
                (fsp.insertSet n ps).get k = fsp.get k
                @[simp]
                theorem AP.FSP.get_insert_of_ne {fsp : FSP} {n k : } {p : PointZ} (h : k n) :
                (fsp.insert n p).get k = fsp.get k
                theorem AP.FSP.insert_eq_of_mem {fsp : FSP} {n : } {p : PointZ} (h : p fsp.get n) :
                fsp.insert n p = fsp
                @[simp]
                theorem AP.FSP.offset_zero {fsp : FSP} :
                fsp.offset 0 = fsp
                @[simp]
                theorem AP.FSP.offset_one {fsp : FSP} :
                fsp.offset 1 = fsp.next
                theorem AP.FSP.offset_succ {fsp : FSP} {n : } :
                fsp.offset (n + 1) = fsp.next.offset n
                theorem AP.FSP.offset_succ' {fsp : FSP} {n : } :
                fsp.offset (n + 1) = (fsp.offset n).next
                @[simp]
                theorem AP.FSP.mem_get_zero_next_iff {fsp : FSP} {p : PointZ} :
                p fsp.next.get 0 p fsp.get 0 p fsp.get 1
                @[simp]
                theorem AP.FSP.mem_get_zero_offset_iff {fsp : FSP} {n : } {p : PointZ} :
                p (fsp.offset n).get 0 kn, p fsp.get k
                @[simp]
                theorem AP.FSP.hasLe_offset {fsp : FSP} {n k : } {p : PointZ} :
                (fsp.offset n).hasLe k p fsp.hasLe (k + n) p
                theorem AP.FSP.hasLe_of_le {fsp : FSP} {n k : } {p : PointZ} (h₁ : fsp.hasLe k p) (h₂ : k n) :
                fsp.hasLe n p
                theorem AP.FSP.hasLe_of_add_left {fsp : FSP} {n k : } {p : PointZ} (h : fsp.hasLe n p) :
                fsp.hasLe (k + n) p
                theorem AP.FSP.hasLe_of_add_right {fsp : FSP} {n k : } {p : PointZ} (h : fsp.hasLe n p) :
                fsp.hasLe (n + k) p
                @[simp]
                theorem AP.FSP.hasLe_zero {fsp : FSP} {p : PointZ} :
                fsp.hasLe 0 p p fsp.get 0
                theorem AP.FSP.next_offset {fsp : FSP} {n : } :
                (fsp.offset n).next = fsp.offset (n + 1)
                theorem AP.FSP.next_insertSet_succ {fsp : FSP} {n : } {set : Set PointZ} :
                (fsp.insertSet (n + 1) set).next = fsp.next.insertSet n set
                theorem AP.FSP.next_insert_succ {fsp : FSP} {n : } {p : PointZ} :
                (fsp.insert (n + 1) p).next = fsp.next.insert n p
                @[simp]
                theorem AP.FSP.insertSet_idem {fsp : FSP} {n : } {set : Set PointZ} :
                (fsp.insertSet n set).insertSet n set = fsp.insertSet n set
                @[simp]
                theorem AP.FSP.insert_idem {fsp : FSP} {n : } {p : PointZ} :
                (fsp.insert n p).insert n p = fsp.insert n p
                @[simp]
                theorem AP.FSP.mem_get_succ_offset_iff {fsp : FSP} {n k : } {p : PointZ} :
                p (fsp.offset n).get (k + 1) p fsp.get (n + k + 1)
                @[simp]
                theorem AP.FSP.get_empty :
                .get = fun (x : ) =>
                @[simp]
                theorem AP.FSP.hasLe_empty :
                .hasLe = fun (x : ) (x_1 : PointZ) => False
                theorem AP.FSP.subset_def {a b : FSP} :
                a b ∀ ⦃i : ⦄, a.get ib.get i
                @[simp]
                theorem AP.FSP.get_union {a b : FSP} {i : } :
                (a b).get i = a.get i b.get i
                @[simp]
                theorem AP.FSP.hasLe_union {a b : FSP} {i : } {p : PointZ} :
                (a b).hasLe i p a.hasLe i p b.hasLe i p
                theorem AP.FSP.insert_union {a b : FSP} {i : } {p : PointZ} :
                (a b).insert i p = a.insert i p b.insert i p
                @[simp]
                theorem AP.FSP.union_empty {a : FSP} :
                a = a
                @[simp]
                theorem AP.FSP.union_insertSet {a b : FSP} {i : } {ps : Set PointZ} :
                a b.insertSet i ps = (a b).insertSet i ps
                theorem AP.FSP.hasLe_succ {a : FSP} {i : } {p : PointZ} :
                a.hasLe (i + 1) p a.hasLe i p p a.get (i + 1)
                theorem AP.FSP.get_offset {a : FSP} {n i : } :
                (a.offset n).get i = if i = 0 then {p : PointZ | a.hasLe n p} else a.get (n + i)