Skip to content

Conversation

@aodecipher
Copy link
Contributor

@aodecipher aodecipher commented Dec 22, 2025

Summary

This PR completes several proofs in Section 1.3.1 and adds structure for Lemma 1.3.9:

  • AlmostAlways lemmas: Prove ofAlways, mp, and countable conjunction preservation via measure theory
  • Support measurability: Prove support of simple function is measurable via union of positive-coefficient sets
  • Complex simple functions: Complete proofs for real/imaginary parts and coercion from real to complex
  • Disjoint representation: Add atom-based machinery and prove RealSimpleFunction.pos/neg using disjoint sets
  • Refactoring: Move general atom machinery to IntegralWellDef namespace for better organization
  • AlmostEverywhereEqual equivalence: Add structure and complete proofs for refl, symm, trans showing it's an equivalence relation
  • Lemma 1.3.9 TFAE structure: Add helper namespace with statement abbreviations (i)-(xi) and TFAE proof framework
  • Lemma 1.3.9 helper proofs: Complete iv_imp_ii (monotone convergence), v_imp_vi (countable intersections), vi_imp_v (rational unions), v_to_viii_imp_ix (interval preimages)

All proofs replace sorry statements with complete formal proofs.

…ories

- Add **/.env pattern to ignore environment files
- Add **/.aider.conf.yml to ignore aider configuration files
- Add **/docker/ pattern to ignore docker directories
- Prove UnsignedSimpleFunction.support_measurable: support of simple function is measurable via union of positive-coefficient sets
- Prove AlmostAlways.ofAlways: always-true properties are almost always true (empty complement has measure zero)
- Prove AlmostAlways.mp: modus ponens for almost-always properties via subset monotonicity
- Prove AlmostAlways.countable: countable conjunction preserves almost-always via countable union of null sets
- Prove ComplexSimpleFunction.re: real part of complex simple function is real simple function via Re(c_i) coefficients
- Prove ComplexSimpleFunction.im: imaginary part of complex simple function is real simple function via Im(c_i) coefficients
- Both proofs extract representation, apply Re/Im to coefficients, and use complex arithmetic properties (re_sum, im_sum, re_mul_ofReal, im_mul_ofReal)
…roofs

- Add RealSimpleFunction.DisjointRepr namespace with atom-based disjoint representation machinery
- Prove RealSimpleFunction.disjoint_representation: any simple function has equivalent representation with pairwise disjoint measurable sets
- Complete RealSimpleFunction.pos proof: uses disjoint representation and max(v_i, 0) coefficients
- Complete RealSimpleFunction.neg proof: reduces to pos via neg_fun f = pos_fun (-f)
- Move singleAtom, singleAtom_pairwiseDisjoint, mem_singleAtom_iff, exists_unique_singleAtom, and atomValue from RealSimpleFunction.DisjointRepr to UnsignedSimpleFunction.IntegralWellDef
- Update references in RealSimpleFunction.disjoint_representation to use new locations
- Simplify comments and remove redundant explanations
- Better organization: general atom machinery in general namespace, measure-specific lemmas remain in DisjointRepr
- Prove RealSimpleFunction.toComplex: real simple function coerces to complex simple function
- Extract representation, apply Complex.ofReal to coefficients, use Complex.ofReal_sum and Complex.ofReal_mul to show equality
- Add AlmostEverywhereEqual.refl, symm, trans lemmas (proofs pending)
- Add AlmostEverywhereEqual.equivalence theorem combining them into Equivalence instance
- Sets up structure to prove AlmostEverywhereEqual is an equivalence relation
- Prove AlmostEverywhereEqual.refl: uses AlmostAlways.ofAlways (empty set is null)
- Prove AlmostEverywhereEqual.symm: uses ne_comm to show symmetric sets have same measure
- Prove AlmostEverywhereEqual.trans: uses subset inclusion and countable subadditivity to show union of null sets is null
…nces)

- Add UnsignedMeasurable.TFAE_helpers namespace with statement abbreviations (i)-(xi)
- Implement helper lemmas: complementation proofs (v↔vi↔vii↔viii, x↔xi), definitional (i↔ii), pointwise convergence (ii→iii)
- Add TFAE proof structure using tfae_have and tfae_finish to assemble implication graph
- Several technical lemmas marked with sorry (limsup, monotone convergence, interval preimages, approximating sequence construction)
- Complete iv_imp_ii: use tendsto_atTop_iSup for monotone sequences
- Complete v_imp_vi: case analysis for ⊥, ⊤, and finite values using countable intersections
- Complete vi_imp_v: use countable union over rationals with EReal.exists_rat_btwn_of_lt
- Complete v_to_viii_imp_ix: all interval preimage cases using EReal.image_coe_Ixx lemmas
- Fix x_imp_viii → x_imp_vii: use open set Iio instead of closed Iic
- Update documentation to reflect corrected implication paths
@teorth teorth merged commit 7f6235c into teorth:main Dec 25, 2025
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants