OAI/Combinatorics/ContingencyTables/FactorialLift.lean

GitHub source file

22 declarations, 0 contain sorry, 0 declared as axioms

A finite factorial-lift counterexample

The ten labels are the first cell's rows 0, 1, 2 and columns 3, 4, 5, and the second cell's rows 6, 7 and columns 8, 9. Conditioning on the first three rows gives a symmetric addition matrix with two distinct positive eigenvalues. This finite counterexample does not formalize a randomized approximation algorithm for contingency tables.

  1. abbrev OAI.DistinctLifts.Label line 25
  2. abbrev OAI.DistinctLifts.Remaining line 26
  3. def OAI.DistinctLifts.count line 28
  4. def OAI.DistinctLifts.factorialLift line 32

    Source documentation

    The factorial lift for capacities 3 and 2, with constant weight one. It is defined on all sets here and subsequently restricted to 5-subsets.

    def factorialLift (S : Finset Label) : ℝ :=
    …

    Mentions: OAI.DistinctLifts.Label

  5. def OAI.DistinctLifts.fixed line 36
  6. def OAI.DistinctLifts.remaining line 37
  7. def OAI.DistinctLifts.conditioned line 38
  8. theorem OAI.DistinctLifts.conditioned_card line 40
  9. def OAI.DistinctLifts.additionMatrix line 45

    Source documentation

    Actual row-conditioned addition matrix, with the required zero diagonal.

    def additionMatrix : Matrix Remaining Remaining ℝ :=
    …

    Mentions: OAI.DistinctLifts.Remaining

  10. def OAI.DistinctLifts.explicitMatrix line 49

    Source documentation

    First block: three first-cell columns. Second block: two rows and two columns of the second cell; same-kind and mixed-kind entries differ.

    def explicitMatrix : Matrix Remaining Remaining ℝ := fun i j =>
    …

    Mentions: OAI.DistinctLifts.Remaining

  11. theorem OAI.DistinctLifts.additionMatrix_eq line 55
  12. theorem OAI.DistinctLifts.additionMatrix_symmetric line 63
  13. def OAI.DistinctLifts.eigenvector line 69

    Source documentation

    Both signs use the same three nonzero first coordinates.

    def eigenvector (s : ℝ) : Remaining → ℝ := fun i => if i.val < 3 then 2 else s

    Mentions: OAI.DistinctLifts.Remaining

  14. theorem OAI.DistinctLifts.eigenvector_nonzero line 71
  15. theorem OAI.DistinctLifts.eigenvector_equation line 77

    Source documentation

    The calculation retains all four second-block entries separately.

    theorem eigenvector_equation (s : ℝ) (hs : s ^ 2 = 3) :
        additionMatrix.mulVecLin (eigenvector s) = (2 + s) • eigenvector s := by
    …

    Mentions: OAI.DistinctLifts.eigenvector

  16. theorem OAI.DistinctLifts.eigenvalue_of_square line 85
  17. def OAI.DistinctLifts.PositiveEigenvaluesUnique line 93

    Source documentation

    A necessary condition for having at most one positive eigenvalue, even when multiplicities are counted. Two distinct positive native eigenvalues already contradict this condition, so no inertia convention is required.

    def PositiveEigenvaluesUnique (A : Matrix Remaining Remaining ℝ) : Prop :=
    …

    Mentions: OAI.DistinctLifts.Remaining

  18. theorem OAI.DistinctLifts.two_distinct_positive_eigenvalues line 97
  19. theorem OAI.DistinctLifts.factorial_lift_fails_addition_signature line 110

    Source documentation

    The actual conditioned factorial lift fails the necessary spectral condition in the addition property. No claim about the other lift is made.

    theorem factorial_lift_fails_addition_signature :
        ¬ PositiveEigenvaluesUnique additionMatrix := by
    …

    Mentions: OAI.DistinctLifts.PositiveEigenvaluesUnique, OAI.DistinctLifts.additionMatrix

  20. def OAI.DistinctLifts.blockVector line 117

    Source documentation

    Vectors constant on the groups of three and four remaining labels.

    def blockVector (a b : ℝ) : Remaining → ℝ := fun i => if i.val < 3 then a else b

    Mentions: OAI.DistinctLifts.Remaining

  21. theorem OAI.DistinctLifts.restricted_quadratic line 119
  22. theorem OAI.DistinctLifts.factorial_lift_counterexample line 128

    Source documentation

    Full finite counterexample: the conditioned sets have the required size, the actual factorial-lift matrix is symmetric, and it has two distinct positive eigenvalues in the native linear-map API.

    theorem factorial_lift_counterexample :
        (∀ i j : Remaining, i ≠ j → (conditioned i j).card = 5) ∧
        Matrix.IsSymm additionMatrix ∧
        0 < 2 + Real.sqrt 3 ∧ 0 < 2 - Real.sqrt 3 ∧
        2 + Real.sqrt 3 ≠ 2 - Real.sqrt 3 ∧
        Module.End.HasEigenvalue additionMatrix.mulVecLin (2 + Real.sqrt 3) ∧
        Module.End.HasEigenvalue additionMatrix.mulVecLin (2 - Real.sqrt 3) := by
    …

    Mentions: OAI.DistinctLifts.Remaining, OAI.DistinctLifts.conditioned, OAI.DistinctLifts.additionMatrix