OAI/Algebra/GroupRing/ClosedWords.lean
662 declarations, 0 contain sorry, 0 declared as axioms
Finite rotation systems. The Euler inequality here is explicitly an input from a planar realization; no PL realization or planar separator theorem is asserted by this file. The face cycles and bad-gap count, however, are computed from the actual boundary and pairing permutations.
- def
OAI.TorsionFreeZeroDivisors.SampleGraph.ClosedWords.rootline 14 - lemma
OAI.TorsionFreeZeroDivisors.SampleGraph.ClosedWords.piece_eqline 16 - lemma
OAI.TorsionFreeZeroDivisors.SampleGraph.ClosedWords.root_eq_someline 29 - lemma
OAI.TorsionFreeZeroDivisors.SampleGraph.ClosedWords.cyclic_iffline 45 - lemma
OAI.TorsionFreeZeroDivisors.SampleGraph.ClosedWords.cyclicline 48 - lemma
OAI.TorsionFreeZeroDivisors.SampleGraph.ClosedWords.root_startline 59 - lemma
OAI.TorsionFreeZeroDivisors.SampleGraph.ClosedWords.rootAline 63 - lemma
OAI.TorsionFreeZeroDivisors.SampleGraph.ClosedWords.rootBline 71 - lemma
OAI.TorsionFreeZeroDivisors.SingleException.cardinal_chargeline 83 - lemma
OAI.TorsionFreeZeroDivisors.SingleException.two_massline 98 - lemma
OAI.TorsionFreeZeroDivisors.SingleException.divide_castline 102 - abbrev
OAI.TorsionFreeZeroDivisors.SampleGraph.ClosedWords.cap_posline 119 - abbrev
OAI.TorsionFreeZeroDivisors.SampleGraph.ClosedWords.H₀line 120 - lemma
OAI.TorsionFreeZeroDivisors.SampleGraph.ClosedWords.H₀_geline 122 - lemma
OAI.TorsionFreeZeroDivisors.SampleGraph.ClosedWords.old_lowerline 126 - lemma
OAI.TorsionFreeZeroDivisors.SampleGraph.ClosedWords.piece_chargeline 138 - lemma
OAI.TorsionFreeZeroDivisors.SampleGraph.ClosedWords.lower_wordline 147 - lemma
OAI.TorsionFreeZeroDivisors.SampleGraph.ClosedWords.root_massline 152 - lemma
OAI.TorsionFreeZeroDivisors.SampleGraph.ClosedWords.added_realline 165 - abbrev
OAI.TorsionFreeZeroDivisors.PermutationCycles.Cycleline 182 - instance
OAI.TorsionFreeZeroDivisors.PermutationCycles.(instance at line 183)line 183 - def
OAI.TorsionFreeZeroDivisors.PermutationCycles.cycleline 184 - def
OAI.TorsionFreeZeroDivisors.PermutationCycles.membersline 185 - lemma
OAI.TorsionFreeZeroDivisors.PermutationCycles.mem_membersline 186 - lemma
OAI.TorsionFreeZeroDivisors.PermutationCycles.cycle_eqline 188 - lemma
OAI.TorsionFreeZeroDivisors.PermutationCycles.cycle_applyline 190 - lemma
OAI.TorsionFreeZeroDivisors.PermutationCycles.cycle_surjectiveline 194 - lemma
OAI.TorsionFreeZeroDivisors.PermutationCycles.members_nonemptyline 195 - lemma
OAI.TorsionFreeZeroDivisors.PermutationCycles.mem_of_memline 198 - lemma
OAI.TorsionFreeZeroDivisors.PermutationCycles.card_one_fixedline 200 - lemma
OAI.TorsionFreeZeroDivisors.PermutationCycles.card_le_two_squareline 206 - def
OAI.TorsionFreeZeroDivisors.PermutationCycles.fixedline 223 - lemma
OAI.TorsionFreeZeroDivisors.PermutationCycles.fixed_le_cyclesline 224 - lemma
OAI.TorsionFreeZeroDivisors.PermutationCycles.singleton_cycles_le_fixedline 230 - lemma
OAI.TorsionFreeZeroDivisors.PermutationCycles.sum_cardline 245 - lemma
OAI.TorsionFreeZeroDivisors.PermutationCycles.large_countline 249 - lemma
OAI.TorsionFreeZeroDivisors.PlanarRotation.excess_identityline 263 - lemma
OAI.TorsionFreeZeroDivisors.PlanarRotation.large_sum_leline 274 - def
OAI.TorsionFreeZeroDivisors.PlanarRotation.oppositeline 282 - def
OAI.TorsionFreeZeroDivisors.PlanarRotation.Goodline 284Source documentation
An actual distinct-arc digon gap, read solely from the two permutations.
def Good (x : O) : Prop := …
- def
OAI.TorsionFreeZeroDivisors.PlanarRotation.badline 286 - lemma
OAI.TorsionFreeZeroDivisors.PlanarRotation.bad_card_boundline 287 - theorem
OAI.TorsionFreeZeroDivisors.PlanarRotation.bad_gaps_leline 309Source documentation
The exact
8Nestimate. The planar input is only its explicit Euler inequality; no comparison-count estimate is assumed.theorem bad_gaps_le (heuler : Fintype.card O+4≤2*Fintype.card (Cycle σ)+2*Fintype.card (Cycle (opposite σ α))) (hmono : (fixed (opposite σ α)).card≤1) : (bad σ α).card≤8*Fintype.card (Cycle σ) := by …Mentions: OAI.TorsionFreeZeroDivisors.PlanarRotation.opposite, OAI.TorsionFreeZeroDivisors.PlanarRotation.bad
- lemma
OAI.TorsionFreeZeroDivisors.PlanarRotation.good_oppositeline 334 - def
OAI.TorsionFreeZeroDivisors.PlanarRotation.cutsline 349Source documentation
Cut every bad gap and every prescribed marking together with its opposite.
def cuts (marks : Finset O) : Finset O := bad σ α∪marks∪marks.image (opposite σ α)
Mentions: OAI.TorsionFreeZeroDivisors.PlanarRotation.bad, OAI.TorsionFreeZeroDivisors.PlanarRotation.opposite
- lemma
OAI.TorsionFreeZeroDivisors.PlanarRotation.cardinal_cutsline 350 - lemma
OAI.TorsionFreeZeroDivisors.PlanarRotation.cut_stableline 355 - theorem
OAI.TorsionFreeZeroDivisors.PlanarRotation.cuts_le_twelveline 372Source documentation
The source's
J ≤ 12N', retaining the exact boundary and splitting count.theorem cuts_le_twelve (marks : Finset O) (pieces : ℕ) (heuler : Fintype.card O+4≤2*Fintype.card (Cycle σ)+2*Fintype.card (Cycle (opposite σ α))) (hmono : (fixed (opposite σ α)).card≤1) (hpieces : Fintype.card (Cycle σ)≤pieces) (hmarks : marks.card≤Fintype.card (Cycle σ)+pieces) : (cuts σ α marks).card≤12*pieces := by …Mentions: OAI.TorsionFreeZeroDivisors.PlanarRotation.opposite, OAI.TorsionFreeZeroDivisors.PlanarRotation.cuts
- structure
OAI.TorsionFreeZeroDivisors.PlanarRuns.CutSystemline 388Source documentation
A finite circular boundary cut at least once in each boundary component.
structure CutSystem (σ : Equiv.Perm O) where …
- def
OAI.TorsionFreeZeroDivisors.PlanarRuns.CutSystem.distanceline 394 - def
OAI.TorsionFreeZeroDivisors.PlanarRuns.CutSystem.finishline 395 - lemma
OAI.TorsionFreeZeroDivisors.PlanarRuns.CutSystem.finish_memline 396 - lemma
OAI.TorsionFreeZeroDivisors.PlanarRuns.CutSystem.beforeline 397 - lemma
OAI.TorsionFreeZeroDivisors.PlanarRuns.CutSystem.distance_zeroline 399 - lemma
OAI.TorsionFreeZeroDivisors.PlanarRuns.CutSystem.finish_cutline 402 - lemma
OAI.TorsionFreeZeroDivisors.PlanarRuns.CutSystem.zero_iffline 404 - lemma
OAI.TorsionFreeZeroDivisors.PlanarRuns.CutSystem.distance_nextline 409 - lemma
OAI.TorsionFreeZeroDivisors.PlanarRuns.CutSystem.finish_nextline 419 - lemma
OAI.TorsionFreeZeroDivisors.PlanarRuns.CutSystem.finish_surjectiveline 421 - lemma
OAI.TorsionFreeZeroDivisors.PlanarRuns.CutSystem.distance_iterateline 425 - lemma
OAI.TorsionFreeZeroDivisors.PlanarRuns.CutSystem.finish_iterateline 437 - structure
OAI.TorsionFreeZeroDivisors.PlanarRuns.CutSystem.Pairedline 445Source documentation
Every uncut adjacency is a distinct-arc digon, and cuts are stable under its opposite gap. These are precisely the hypotheses obtained by cutting bad and marked gaps in
PlanarRotation.structure Paired (α : Equiv.Perm O) : Prop where …
- lemma
OAI.TorsionFreeZeroDivisors.PlanarRuns.CutSystem.Paired.opposite_nextline 455 - lemma
OAI.TorsionFreeZeroDivisors.PlanarRuns.CutSystem.Paired.opposite_uncutline 460 - lemma
OAI.TorsionFreeZeroDivisors.PlanarRuns.CutSystem.Paired.finish_oppositeline 462 - lemma
OAI.TorsionFreeZeroDivisors.PlanarRuns.CutSystem.Paired.finish_pairline 466 - def
OAI.TorsionFreeZeroDivisors.PlanarRuns.CutSystem.Paired.pairline 477 - lemma
OAI.TorsionFreeZeroDivisors.PlanarRuns.CutSystem.Paired.pair_involutiveline 478 - lemma
OAI.TorsionFreeZeroDivisors.PlanarRuns.CutSystem.Paired.reverse_stepsline 484 - lemma
OAI.TorsionFreeZeroDivisors.PlanarRuns.CutSystem.Paired.pair_fixed_freeline 506 - lemma
OAI.TorsionFreeZeroDivisors.PlanarRuns.CutSystem.Paired.predecessor_cutline 525 - def
OAI.TorsionFreeZeroDivisors.PlanarRuns.CutSystem.Paired.firstline 533Source documentation
Each cut is the last occurrence of its run; the first occurrence is the partner of the final occurrence of the opposite run.
def first (c : {x // x∈S.cut}) : O := α (P.pair c).val - lemma
OAI.TorsionFreeZeroDivisors.PlanarRuns.CutSystem.Paired.finish_firstline 534 - lemma
OAI.TorsionFreeZeroDivisors.PlanarRuns.CutSystem.Paired.before_first_cutline 536 - lemma
OAI.TorsionFreeZeroDivisors.PlanarRuns.CutSystem.Paired.distance_le_firstline 539 - lemma
OAI.TorsionFreeZeroDivisors.PlanarRuns.CutSystem.Paired.run_coordinatesline 557 - def
OAI.TorsionFreeZeroDivisors.PlanarRuns.CutSystem.Paired.runline 564 - lemma
OAI.TorsionFreeZeroDivisors.PlanarRuns.CutSystem.Paired.mem_runline 566 - lemma
OAI.TorsionFreeZeroDivisors.PlanarRuns.CutSystem.Paired.run_nonemptyline 576 - lemma
OAI.TorsionFreeZeroDivisors.PlanarRuns.CutSystem.Paired.run_nodupline 578 - lemma
OAI.TorsionFreeZeroDivisors.PlanarRuns.CutSystem.Paired.belongs_oppositeline 586 - lemma
OAI.TorsionFreeZeroDivisors.PlanarRuns.CutSystem.Paired.distinct_runsline 593 - lemma
OAI.TorsionFreeZeroDivisors.PlanarRuns.CutSystem.Paired.first_pairline 601 - lemma
OAI.TorsionFreeZeroDivisors.PlanarRuns.CutSystem.Paired.distance_reverseline 604 - lemma
OAI.TorsionFreeZeroDivisors.PlanarRuns.CutSystem.Paired.distance_first_pairline 619 - lemma
OAI.TorsionFreeZeroDivisors.PlanarRuns.CutSystem.Paired.reverse_coordinateline 626 - lemma
OAI.TorsionFreeZeroDivisors.PlanarRuns.CutSystem.Paired.run_reverseline 633 - def
OAI.TorsionFreeZeroDivisors.PlanarRuns.CutSystem.PairOrbit.relationline 646 - abbrev
OAI.TorsionFreeZeroDivisors.PlanarRuns.CutSystem.PairOrbit.Orbitline 657 - instance
OAI.TorsionFreeZeroDivisors.PlanarRuns.CutSystem.PairOrbit.(instance at line 659)line 659 - def
OAI.TorsionFreeZeroDivisors.PlanarRuns.CutSystem.PairOrbit.projectline 660 - lemma
OAI.TorsionFreeZeroDivisors.PlanarRuns.CutSystem.PairOrbit.fiber_twoline 661 - lemma
OAI.TorsionFreeZeroDivisors.PlanarRuns.CutSystem.PairOrbit.card_twiceline 680 - abbrev
OAI.TorsionFreeZeroDivisors.PlanarRuns.CutSystem.Paired.IntervalPairline 688 - instance
OAI.TorsionFreeZeroDivisors.PlanarRuns.CutSystem.Paired.(instance at line 689)line 689 - lemma
OAI.TorsionFreeZeroDivisors.PlanarRuns.CutSystem.Paired.twice_interval_pairsline 690 - lemma
OAI.TorsionFreeZeroDivisors.PlanarRuns.CutSystem.Paired.interval_pairs_leline 692 - def
OAI.TorsionFreeZeroDivisors.PlanarRuns.CutSystem.ofMarksline 700Source documentation
The literal source cut construction has at least one cut per boundary, using one chosen indexing mark there.
def ofMarks [Fintype O] (α : Equiv.Perm O) (marks : Finset O) (hmark : ∀ x,∃ y∈marks,σ.SameCycle x y) : CutSystem σ where … - lemma
OAI.TorsionFreeZeroDivisors.PlanarRuns.CutSystem.ofMarks_pairedline 709 - theorem
OAI.TorsionFreeZeroDivisors.PlanarRuns.CutSystem.source_interval_boundline 725Source documentation
Exact
6N'interval-pair count for the finite rotation data of the manuscript. Euler planarity and the at-most-one exceptional monogon remain explicit geometric inputs; the resulting intervals and their reversal are constructed, not presumed.theorem source_interval_bound [Fintype O] (α : Equiv.Perm O) (marks : Finset O) (hmark : ∀ x,∃ y∈marks,σ.SameCycle x y) (hr : Function.Involutive α) (hf : ∀ x,α x≠x) (pieces : ℕ) (heuler : Fintype.card O+4≤2*Fintype.card (PermutationCycles.Cycle σ)+ 2*Fintype.card (PermutationCycles.Cycle (opposite σ α))) (hmono : (PermutationCycles.fixed (opposite σ α)).card≤1) (hpieces : Fintype.card (PermutationCycles.Cycle σ)≤pieces) (hmarks : marks.card≤Fintype.card (PermutationCycles.Cycle σ)+pieces) : Fintype.card (ofMarks_paired α marks hmark hr hf).IntervalPair≤6*pieces := by …Mentions: OAI.TorsionFreeZeroDivisors.PermutationCycles.Cycle, OAI.TorsionFreeZeroDivisors.PermutationCycles.fixed, OAI.TorsionFreeZeroDivisors.PlanarRuns.CutSystem.ofMarks_paired
- lemma
OAI.TorsionFreeZeroDivisors.PlanarIntervals.position_extline 747 - lemma
OAI.TorsionFreeZeroDivisors.PlanarIntervals.coordinate_iterateline 755 - def
OAI.TorsionFreeZeroDivisors.PlanarIntervals.lowerline 769 - def
OAI.TorsionFreeZeroDivisors.PlanarIntervals.upperline 770 - lemma
OAI.TorsionFreeZeroDivisors.PlanarIntervals.finish_coordinatesline 771 - lemma
OAI.TorsionFreeZeroDivisors.PlanarIntervals.boundsline 777 - lemma
OAI.TorsionFreeZeroDivisors.PlanarIntervals.finish_iffline 794 - lemma
OAI.TorsionFreeZeroDivisors.PlanarIntervals.finish_real_iffline 819 - lemma
OAI.TorsionFreeZeroDivisors.PlanarIntervals.partner_coordinateline 836 - def
OAI.TorsionFreeZeroDivisors.PlanarIntervals.comparisonsline 855Source documentation
Every actual maximal run yields a literal integer comparison side. No real-grid or arbitrary interval compatibility is postulated.
def comparisons : Comparisons (E:={x // x∈S.cut}) len where … - lemma
OAI.TorsionFreeZeroDivisors.ExtendComparisons.positions_monoline 906 - def
OAI.TorsionFreeZeroDivisors.ExtendComparisons.embedline 910 - abbrev
OAI.TorsionFreeZeroDivisors.ExtendComparisons.Oldline 912 - def
OAI.TorsionFreeZeroDivisors.ExtendComparisons.projectline 913 - lemma
OAI.TorsionFreeZeroDivisors.ExtendComparisons.old_embedline 914 - lemma
OAI.TorsionFreeZeroDivisors.ExtendComparisons.project_embedline 915 - lemma
OAI.TorsionFreeZeroDivisors.ExtendComparisons.embed_projectline 916 - lemma
OAI.TorsionFreeZeroDivisors.ExtendComparisons.embed_injectiveline 917 - def
OAI.TorsionFreeZeroDivisors.ExtendComparisons.partnerline 923 - lemma
OAI.TorsionFreeZeroDivisors.ExtendComparisons.partner_embedline 925 - lemma
OAI.TorsionFreeZeroDivisors.ExtendComparisons.partner_newline 927 - lemma
OAI.TorsionFreeZeroDivisors.ExtendComparisons.partner_invline 929 - def
OAI.TorsionFreeZeroDivisors.ExtendComparisons.sideline 934 - lemma
OAI.TorsionFreeZeroDivisors.ExtendComparisons.side_embedline 936 - lemma
OAI.TorsionFreeZeroDivisors.ExtendComparisons.side_some_oldline 938 - lemma
OAI.TorsionFreeZeroDivisors.ExtendComparisons.side_noneline 942 - lemma
OAI.TorsionFreeZeroDivisors.ExtendComparisons.side_iffline 950 - lemma
OAI.TorsionFreeZeroDivisors.ExtendComparisons.partner_sideline 967 - lemma
OAI.TorsionFreeZeroDivisors.ExtendComparisons.partner_sourceline 973 - lemma
OAI.TorsionFreeZeroDivisors.ExtendComparisons.partner_coordinateline 978 - lemma
OAI.TorsionFreeZeroDivisors.ExtendComparisons.target_rangeline 987 - def
OAI.TorsionFreeZeroDivisors.ExtendComparisons.comparisonsline 994 - lemma
OAI.TorsionFreeZeroDivisors.ExtendComparisons.old_cardline 1014 - lemma
OAI.TorsionFreeZeroDivisors.ExtendComparisons.fixed_old_cardline 1026 - lemma
OAI.TorsionFreeZeroDivisors.ExtendComparisons.fixed_cardline 1040 - lemma
OAI.TorsionFreeZeroDivisors.WordPositions.boundsline 1064 - def
OAI.TorsionFreeZeroDivisors.WordPositions.finline 1067 - lemma
OAI.TorsionFreeZeroDivisors.WordPositions.fin_valline 1083 - lemma
OAI.TorsionFreeZeroDivisors.WordPositions.fin_symm_valline 1084 - lemma
OAI.TorsionFreeZeroDivisors.WordPositions.dart_finline 1086 - lemma
OAI.TorsionFreeZeroDivisors.WordPositions.dart_prefixline 1090 - def
OAI.TorsionFreeZeroDivisors.WordPositions.joinFinline 1099 - def
OAI.TorsionFreeZeroDivisors.WordPositions.joinline 1104 - lemma
OAI.TorsionFreeZeroDivisors.WordPositions.join_firstline 1106 - lemma
OAI.TorsionFreeZeroDivisors.WordPositions.join_valueline 1107 - def
OAI.TorsionFreeZeroDivisors.WordPositions.segmentsline 1119 - lemma
OAI.TorsionFreeZeroDivisors.WordPositions.segments_dartline 1122 - lemma
OAI.TorsionFreeZeroDivisors.WordPositions.cardinalline 1133 - abbrev
OAI.TorsionFreeZeroDivisors.WordPositions.prefix_boundline 1137 - lemma
OAI.TorsionFreeZeroDivisors.WordPositions.new_cardline 1140 - lemma
OAI.TorsionFreeZeroDivisors.WordPositions.fixed_cardline 1150 - lemma
OAI.TorsionFreeZeroDivisors.WordPositions.nonfixed_oldline 1160 - abbrev
OAI.TorsionFreeZeroDivisors.SampleGraph.ClosedWords.growline 1183 - lemma
OAI.TorsionFreeZeroDivisors.SampleGraph.ClosedWords.upper_realline 1186 - def
OAI.TorsionFreeZeroDivisors.SampleGraph.ClosedWords.systemline 1192Source documentation
Appending the actual short closures changes neither original comparison nor its underlying graph lifts. Every newly added position is unpaired.
def system : PathSystem rep r x y where …
Mentions: OAI.TorsionFreeZeroDivisors.SampleGraph.PathSystem
- def
OAI.TorsionFreeZeroDivisors.BoundaryRotation.permline 1243 - lemma
OAI.TorsionFreeZeroDivisors.BoundaryRotation.apply_finline 1245 - lemma
OAI.TorsionFreeZeroDivisors.BoundaryRotation.pow_finline 1249 - lemma
OAI.TorsionFreeZeroDivisors.BoundaryRotation.firstline 1254 - lemma
OAI.TorsionFreeZeroDivisors.BoundaryRotation.finRotate_sameline 1257 - lemma
OAI.TorsionFreeZeroDivisors.BoundaryRotation.same_firstline 1266 - lemma
OAI.TorsionFreeZeroDivisors.BoundaryRotation.nextline 1280 - lemma
OAI.TorsionFreeZeroDivisors.BoundaryRotation.cycles_leline 1303 - def
OAI.TorsionFreeZeroDivisors.BoundaryRotation.endsline 1312 - lemma
OAI.TorsionFreeZeroDivisors.BoundaryRotation.ends_leline 1313 - lemma
OAI.TorsionFreeZeroDivisors.BoundaryRotation.hitsline 1325 - lemma
OAI.TorsionFreeZeroDivisors.BoundaryRotation.fixed_root_endline 1344 - lemma
OAI.TorsionFreeZeroDivisors.BoundaryRotation.monogons_leline 1357 - lemma
OAI.TorsionFreeZeroDivisors.BoundaryRotation.last_nextline 1374 - lemma
OAI.TorsionFreeZeroDivisors.BoundaryRotation.step_nonlastline 1393 - lemma
OAI.TorsionFreeZeroDivisors.BoundaryRotation.step_lastline 1403 - lemma
OAI.TorsionFreeZeroDivisors.SampleGraph.PathSystem.step_labelline 1420 - lemma
OAI.TorsionFreeZeroDivisors.SampleGraph.PathSystem.boundary_reducedline 1426 - lemma
OAI.TorsionFreeZeroDivisors.PermutationTransport.pow_applyline 1444 - lemma
OAI.TorsionFreeZeroDivisors.PermutationTransport.sameCycleline 1448 - lemma
OAI.TorsionFreeZeroDivisors.PermutationTransport.involutiveline 1451 - lemma
OAI.TorsionFreeZeroDivisors.PermutationTransport.fixed_freeline 1455 - lemma
OAI.TorsionFreeZeroDivisors.PermutationTransport.mulline 1459 - abbrev
OAI.TorsionFreeZeroDivisors.BalancedRotation.lenline 1468 - abbrev
OAI.TorsionFreeZeroDivisors.BalancedRotation.eline 1469 - lemma
OAI.TorsionFreeZeroDivisors.BalancedRotation.sourceline 1471 - lemma
OAI.TorsionFreeZeroDivisors.BalancedRotation.valueline 1473 - def
OAI.TorsionFreeZeroDivisors.BalancedRotation.permline 1476 - lemma
OAI.TorsionFreeZeroDivisors.BalancedRotation.transportline 1479 - lemma
OAI.TorsionFreeZeroDivisors.BalancedRotation.same_sourceline 1482 - lemma
OAI.TorsionFreeZeroDivisors.BalancedRotation.stepline 1488 - lemma
OAI.TorsionFreeZeroDivisors.BalancedRotation.hitsline 1513 - lemma
OAI.TorsionFreeZeroDivisors.BalancedRotation.cycles_leline 1523 - structure
OAI.TorsionFreeZeroDivisors.SampleGraph.FullPairingline 1543Source documentation
The full inverse-letter pairing of the original boundary words, retaining actual graph lifts. Planarity is additional data, not asserted here.
structure FullPairing (s : PathSystem rep r x y) where …
Mentions: OAI.TorsionFreeZeroDivisors.SampleGraph.PathSystem
- def
OAI.TorsionFreeZeroDivisors.SampleGraph.FullPairing.αline 1553 - lemma
OAI.TorsionFreeZeroDivisors.SampleGraph.FullPairing.α_involutiveline 1554 - lemma
OAI.TorsionFreeZeroDivisors.SampleGraph.FullPairing.α_fixed_freeline 1556 - lemma
OAI.TorsionFreeZeroDivisors.SampleGraph.FullPairing.transportline 1558 - def
OAI.TorsionFreeZeroDivisors.SampleGraph.FullPairing.cutsline 1560 - theorem
OAI.TorsionFreeZeroDivisors.SampleGraph.FullPairing.pairedline 1563 - lemma
OAI.TorsionFreeZeroDivisors.SampleGraph.FullPairing.stepline 1566 - abbrev
OAI.TorsionFreeZeroDivisors.SampleGraph.FullPairing.Sideline 1579 - def
OAI.TorsionFreeZeroDivisors.SampleGraph.FullPairing.comparisonsline 1580 - def
OAI.TorsionFreeZeroDivisors.SampleGraph.FullPairing.lowerline 1582 - def
OAI.TorsionFreeZeroDivisors.SampleGraph.FullPairing.upperline 1583 - lemma
OAI.TorsionFreeZeroDivisors.SampleGraph.FullPairing.boundsline 1584 - lemma
OAI.TorsionFreeZeroDivisors.SampleGraph.FullPairing.lower_eqline 1589 - lemma
OAI.TorsionFreeZeroDivisors.SampleGraph.FullPairing.upper_eqline 1592 - lemma
OAI.TorsionFreeZeroDivisors.SampleGraph.FullPairing.lower_leline 1595 - lemma
OAI.TorsionFreeZeroDivisors.SampleGraph.FullPairing.upper_leline 1599 - lemma
OAI.TorsionFreeZeroDivisors.SampleGraph.FullPairing.dartline 1601 - lemma
OAI.TorsionFreeZeroDivisors.SampleGraph.FullPairing.balanced_reducedline 1603 - lemma
OAI.TorsionFreeZeroDivisors.SampleGraph.FullPairing.balanced_compatibleline 1608 - lemma
OAI.TorsionFreeZeroDivisors.PermutationTransport.sameCycle_iffline 1618 - def
OAI.TorsionFreeZeroDivisors.PermutationTransport.cyclesline 1626 - lemma
OAI.TorsionFreeZeroDivisors.PermutationTransport.card_cyclesline 1627 - lemma
OAI.TorsionFreeZeroDivisors.SampleGraph.FullPairing.opposite_eqline 1638 - lemma
OAI.TorsionFreeZeroDivisors.SampleGraph.FullPairing.opposite_transportline 1642 - lemma
OAI.TorsionFreeZeroDivisors.SampleGraph.FullPairing.monogonsline 1648 - def
OAI.TorsionFreeZeroDivisors.SampleGraph.FullPairing.Eulerline 1663Source documentation
Only Euler planarity is needed in the interval-count argument. This file proves neither Euler planarity for an abstract pairing nor its PL realization.
def Euler : Prop := Fintype.card (Position (fun t=>(s.paths t).length))+4≤ …
- lemma
OAI.TorsionFreeZeroDivisors.SampleGraph.FullPairing.balanced_eulerline 1666 - lemma
OAI.TorsionFreeZeroDivisors.SampleGraph.FullPairing.sides_leline 1674 - def
OAI.TorsionFreeZeroDivisors.SampleGraph.FullPairing.closedline 1691Source documentation
The actual balanced and short-closed system, with all cut comparisons and all closure positions left unpaired.
def closed : PathSystem rep r x y := ClosedWords.system s cap hc hL hd (a.comparisons cap hc) …
Mentions: OAI.TorsionFreeZeroDivisors.SampleGraph.PathSystem, OAI.TorsionFreeZeroDivisors.SampleGraph.ClosedWords.system
- lemma
OAI.TorsionFreeZeroDivisors.SampleGraph.FullPairing.closed_fixedline 1695 - lemma
OAI.TorsionFreeZeroDivisors.SampleGraph.FullPairing.closed_oldline 1699 - def
OAI.TorsionFreeZeroDivisors.RecursiveSeparator.Smallline 1717Source documentation
Every retained vertex lies in a small set closed under all retained edges.
def Small (S : Finset V) (K : ℕ) : Prop := …
- lemma
OAI.TorsionFreeZeroDivisors.RecursiveSeparator.small_of_cardline 1722 - structure
OAI.TorsionFreeZeroDivisors.RecursiveSeparator.Splitline 1727Source documentation
A genuine one-step separator, including its actual components/blocks.
structure Split (S : Finset V) where …
- lemma
OAI.TorsionFreeZeroDivisors.RecursiveSeparator.Split.subsetline 1739 - lemma
OAI.TorsionFreeZeroDivisors.RecursiveSeparator.Split.massline 1743 - lemma
OAI.TorsionFreeZeroDivisors.RecursiveSeparator.Split.smallerline 1749 - def
OAI.TorsionFreeZeroDivisors.RecursiveSeparator.qline 1754 - def
OAI.TorsionFreeZeroDivisors.RecursiveSeparator.aline 1755 - def
OAI.TorsionFreeZeroDivisors.RecursiveSeparator.Csepline 1756 - lemma
OAI.TorsionFreeZeroDivisors.RecursiveSeparator.q_posline 1757 - lemma
OAI.TorsionFreeZeroDivisors.RecursiveSeparator.q_lt_oneline 1758 - lemma
OAI.TorsionFreeZeroDivisors.RecursiveSeparator.a_posline 1762 - lemma
OAI.TorsionFreeZeroDivisors.RecursiveSeparator.Csep_posline 1763 - lemma
OAI.TorsionFreeZeroDivisors.RecursiveSeparator.Csep_identityline 1764 - lemma
OAI.TorsionFreeZeroDivisors.RecursiveSeparator.sqrt_sizeline 1766 - lemma
OAI.TorsionFreeZeroDivisors.RecursiveSeparator.child_chargeline 1774Source documentation
Charge bound for one recursive child, including leaves that incur no cost.
lemma child_charge {K s b : ℕ} (hK : 0<K) (hs : K<s) (hb : 3*b≤2*s) {d : ℝ} (hd : if b≤K then d=0 else d≤Csep*b/Real.sqrt K-Csep*q*Real.sqrt b) : d≤Csep*b/Real.sqrt K-Csep*b/Real.sqrt s := by …Mentions: OAI.TorsionFreeZeroDivisors.RecursiveSeparator.Csep, OAI.TorsionFreeZeroDivisors.RecursiveSeparator.q
- lemma
OAI.TorsionFreeZeroDivisors.RecursiveSeparator.parent_chargeline 1796 - def
OAI.TorsionFreeZeroDivisors.RecursiveSeparator.Split.combinedline 1823 - lemma
OAI.TorsionFreeZeroDivisors.RecursiveSeparator.Split.child_deletedline 1824 - lemma
OAI.TorsionFreeZeroDivisors.RecursiveSeparator.Split.combined_subsetline 1827 - lemma
OAI.TorsionFreeZeroDivisors.RecursiveSeparator.Split.combined_smallline 1833 - lemma
OAI.TorsionFreeZeroDivisors.RecursiveSeparator.Split.combined_cardline 1852 - theorem
OAI.TorsionFreeZeroDivisors.RecursiveSeparator.recursiveline 1857Source documentation
Exact recursive deletion, with a stronger potential bound used internally.
theorem recursive (K : ℕ) (hK : 0<K) (oneStep : ∀ S : Finset V,K<S.card → Nonempty (Split R S)) (S : Finset V) : ∃ D : Finset V,D⊆S ∧ Small R (S\D) K ∧ (if S.card≤K then D=∅ else (D.card:ℝ)≤Csep*S.card/Real.sqrt K-Csep*q*Real.sqrt S.card) := by …Mentions: OAI.TorsionFreeZeroDivisors.RecursiveSeparator.Split, OAI.TorsionFreeZeroDivisors.RecursiveSeparator.Small, OAI.TorsionFreeZeroDivisors.RecursiveSeparator.Csep, OAI.TorsionFreeZeroDivisors.RecursiveSeparator.q
- theorem
OAI.TorsionFreeZeroDivisors.RecursiveSeparator.separatorline 1918Source documentation
Source recursive planar-separation bound, once the actual one-step planar separator is supplied for every induced subgraph.
theorem separator (K : ℕ) (hK : 1≤K) (oneStep : ∀ S : Finset V,K<S.card → Nonempty (Split R S)) (S : Finset V) : ∃ D : Finset V,D⊆S ∧ Small R (S\D) K ∧ (D.card:ℝ)≤Csep*S.card/Real.sqrt K := by …Mentions: OAI.TorsionFreeZeroDivisors.RecursiveSeparator.Split, OAI.TorsionFreeZeroDivisors.RecursiveSeparator.Small, OAI.TorsionFreeZeroDivisors.RecursiveSeparator.Csep
- def
OAI.TorsionFreeZeroDivisors.PlanarParameters.Uline 1933 - def
OAI.TorsionFreeZeroDivisors.PlanarParameters.ηline 1934 - def
OAI.TorsionFreeZeroDivisors.PlanarParameters.Kline 1935 - def
OAI.TorsionFreeZeroDivisors.PlanarParameters.Cline 1936 - def
OAI.TorsionFreeZeroDivisors.PlanarParameters.C₂line 1937 - def
OAI.TorsionFreeZeroDivisors.PlanarParameters.sidesline 1939Source documentation
Oriented interval sides; the manuscript's I counts pairs.
def sides : ℕ := 2*C₂*C ε D
Mentions: OAI.TorsionFreeZeroDivisors.PlanarParameters.C₂, OAI.TorsionFreeZeroDivisors.PlanarParameters.C
- lemma
OAI.TorsionFreeZeroDivisors.PlanarParameters.U_geline 1940 - lemma
OAI.TorsionFreeZeroDivisors.PlanarParameters.U_posline 1941 - lemma
OAI.TorsionFreeZeroDivisors.PlanarParameters.η_posline 1942 - lemma
OAI.TorsionFreeZeroDivisors.PlanarParameters.K_posline 1945 - lemma
OAI.TorsionFreeZeroDivisors.PlanarParameters.C_posline 1946 - lemma
OAI.TorsionFreeZeroDivisors.PlanarParameters.sides_posline 1947 - lemma
OAI.TorsionFreeZeroDivisors.PlanarParameters.closure_lossline 1951 - lemma
OAI.TorsionFreeZeroDivisors.PlanarParameters.deletion_lossline 1958 - lemma
OAI.TorsionFreeZeroDivisors.PlanarParameters.unpaired_lossline 1964 - lemma
OAI.TorsionFreeZeroDivisors.PlanarParameters.separator_factorline 1970 - theorem
OAI.TorsionFreeZeroDivisors.PlanarParameters.deleteline 1985Source documentation
No planar theorem is hidden here: this uses the actual one-step Split objects and constructs a literal deletion set, with the fixed source K.
theorem delete {V : Type} [Fintype V] (R : V → V → Prop) (hε : 0<ε) (oneStep : ∀ S : Finset V,K ε D<S.card → Nonempty (Split R S)) : ∃ A : Finset V,Small R (Finset.univ\A) (K ε D) ∧ (A.card:ℝ)≤η ε D*Fintype.card V := by …Mentions: OAI.TorsionFreeZeroDivisors.PlanarParameters.K, OAI.TorsionFreeZeroDivisors.PlanarParameters.η
- def
OAI.TorsionFreeZeroDivisors.LocalizationCounts.deletedMapline 2003 - lemma
OAI.TorsionFreeZeroDivisors.LocalizationCounts.deleted_injectiveline 2007 - lemma
OAI.TorsionFreeZeroDivisors.LocalizationCounts.deleted_nonfixed_leline 2020Source documentation
Only deleted ORIGINAL occurrences, not closures, can destroy a partner.
lemma deleted_nonfixed_le : (Finset.univ.filter (fun p : Position len=>¬keep p.1 ∧ C.pairing.partner p≠p)).card≤ ∑t∈Finset.univ.filter (fun t=>¬keep t),old t := by … - lemma
OAI.TorsionFreeZeroDivisors.LocalizationCounts.deleted_massline 2030Source documentation
The exact removed-original-position bound, from the actual deletion set.
lemma deleted_mass {U L : ℕ} {η H₀ : ℝ} (hcap : ∀ t,old t≤U*L) (hη : 0≤η) (hcount : ((Finset.univ.filter (fun t=>¬keep t)).card:ℝ)≤η*Fintype.card T) (hpieces : (Fintype.card T:ℝ)*L≤2*H₀) : (∑t∈Finset.univ.filter (fun t=>¬keep t),(old t:ℝ))≤2*η*U*H₀ := by … - abbrev
OAI.TorsionFreeZeroDivisors.SampleGraph.PathSystem.εline 2051 - lemma
OAI.TorsionFreeZeroDivisors.SampleGraph.PathSystem.ε_posline 2052 - theorem
OAI.TorsionFreeZeroDivisors.SampleGraph.PathSystem.excluded_of_separatorline 2061Source documentation
The complete deterministic separator-to-forbidden-system implication. The one-step separator is explicitly the still-missing planar geometry input; the deletion set, losses, clusters, and realized forbidden words are constructed.
theorem excluded_of_separator (D : ℕ) (H₀ : ℝ) (old : s.P → ℕ) (hH₀ : 0<H₀) (hL : 0<L (size rep)) (ho : ∀ t,old t≤(s.paths t).length) (hcapOld : ∀ t,old t≤PlanarParameters.U ε D*L (size rep)) (hcap : ∀ t,(s.paths t).length≤(PlanarParameters.U ε D+D)*L (size rep)) (hbase : H₀≤∑t,(old t:ℝ)) (hpieces : (Fintype.card s.P:ℝ)*L (size rep)≤2*H₀) (hadded : ((Finset.univ.filter (fun p=>s.comparisons.pairing.partner p=p)).card:ℝ)≤ 3*(D:ℝ)/PlanarParameters.U ε D*H₀) (hprefix : ∀ p : Position (fun t=>(s.paths t).length),s.comparisons.pairing.partner p≠p → p.2.val∈BlockAlignment.positions 0 (old p.1)) (hcompare : Fintype.card s.E≤12*Fintype.card s.P) …Mentions: OAI.TorsionFreeZeroDivisors.PlanarParameters.U, OAI.TorsionFreeZeroDivisors.SampleGraph.PathSystem.ε, OAI.TorsionFreeZeroDivisors.BlockAlignment.positions
- abbrev
OAI.TorsionFreeZeroDivisors.SampleGraph.FullPairing.U₀line 2155 - lemma
OAI.TorsionFreeZeroDivisors.SampleGraph.FullPairing.U₀_geline 2156 - lemma
OAI.TorsionFreeZeroDivisors.SampleGraph.FullPairing.cap_lowerline 2157 - abbrev
OAI.TorsionFreeZeroDivisors.SampleGraph.FullPairing.cap_positiveline 2160 - def
OAI.TorsionFreeZeroDivisors.SampleGraph.FullPairing.preparedline 2166 - theorem
OAI.TorsionFreeZeroDivisors.SampleGraph.FullPairing.excludedline 2170Source documentation
Literal full-pairing exclusion. Euler planarity and the one-step separator are the two remaining geometric inputs, not extra source hypotheses on the main theorem. No claim of their unconditional existence is made here.
theorem excluded (hr : r∈samples rep) (hordinary : ∃t,s.root≠some t) (heuler : a.Euler) (oneStep : ∀ S : Finset (a.prepared hL hd).P,PlanarParameters.K PathSystem.ε ClosedWords.D<S.card → Nonempty (RecursiveSeparator.Split (PairingClusters.Rel (fun p : Position (fun t=>((a.prepared hL hd).paths t).length)=>p.1) (a.prepared hL hd).comparisons.pairing.partner) S)) (havoid : IsEmpty (BoundedSystem (PlanarParameters.C PathSystem.ε ClosedWords.D) (PlanarParameters.K PathSystem.ε ClosedWords.D) (PlanarParameters.sides PathSystem.ε ClosedWords.D) rep r x y)) : False := by …Mentions: OAI.TorsionFreeZeroDivisors.PlanarParameters.K, OAI.TorsionFreeZeroDivisors.SampleGraph.PathSystem.ε, OAI.TorsionFreeZeroDivisors.SampleGraph.ClosedWords.D, OAI.TorsionFreeZeroDivisors.RecursiveSeparator.Split, OAI.TorsionFreeZeroDivisors.PairingClusters.Rel, OAI.TorsionFreeZeroDivisors.SampleGraph.BoundedSystem, OAI.TorsionFreeZeroDivisors.PlanarParameters.C, OAI.TorsionFreeZeroDivisors.PlanarParameters.sides
- lemma
OAI.TorsionFreeZeroDivisors.PermutationCycles.invariant_powline 2215 - def
OAI.TorsionFreeZeroDivisors.PermutationCycles.liftline 2220 - lemma
OAI.TorsionFreeZeroDivisors.PermutationCycles.lift_cycleline 2226 - lemma
OAI.TorsionFreeZeroDivisors.PermutationCycles.lift_surjectiveline 2228 - def
OAI.TorsionFreeZeroDivisors.InsertedRotation.rotationline 2240 - def
OAI.TorsionFreeZeroDivisors.InsertedRotation.pairingline 2243 - def
OAI.TorsionFreeZeroDivisors.InsertedRotation.faceline 2244 - lemma
OAI.TorsionFreeZeroDivisors.InsertedRotation.rotation_leftline 2245 - lemma
OAI.TorsionFreeZeroDivisors.InsertedRotation.rotation_pline 2247 - lemma
OAI.TorsionFreeZeroDivisors.InsertedRotation.rotation_falseline 2249 - lemma
OAI.TorsionFreeZeroDivisors.InsertedRotation.rotation_trueline 2251 - lemma
OAI.TorsionFreeZeroDivisors.InsertedRotation.face_leftline 2253 - lemma
OAI.TorsionFreeZeroDivisors.InsertedRotation.face_pline 2255 - lemma
OAI.TorsionFreeZeroDivisors.InsertedRotation.face_falseline 2257 - lemma
OAI.TorsionFreeZeroDivisors.InsertedRotation.face_trueline 2259 - def
OAI.TorsionFreeZeroDivisors.InsertedRotation.classifyline 2262 - lemma
OAI.TorsionFreeZeroDivisors.InsertedRotation.classify_invariantline 2266 - lemma
OAI.TorsionFreeZeroDivisors.InsertedRotation.classify_surjectiveline 2274 - theorem
OAI.TorsionFreeZeroDivisors.InsertedRotation.face_countline 2283Source documentation
Inserting an ear creates a new face and retains all old face cycles.
theorem face_count : Fintype.card (Cycle (α*σ))+1≤Fintype.card (Cycle (face σ α p)) := by …
- abbrev
OAI.TorsionFreeZeroDivisors.SwapCycles.Awayline 2296 - def
OAI.TorsionFreeZeroDivisors.SwapCycles.classifyline 2297 - lemma
OAI.TorsionFreeZeroDivisors.SwapCycles.classify_applyline 2299 - lemma
OAI.TorsionFreeZeroDivisors.SwapCycles.classify_pline 2301 - lemma
OAI.TorsionFreeZeroDivisors.SwapCycles.classify_qline 2302 - lemma
OAI.TorsionFreeZeroDivisors.SwapCycles.classify_swapline 2303 - lemma
OAI.TorsionFreeZeroDivisors.SwapCycles.invariantline 2309 - lemma
OAI.TorsionFreeZeroDivisors.SwapCycles.surjectiveline 2311 - lemma
OAI.TorsionFreeZeroDivisors.SwapCycles.lowerline 2322 - lemma
OAI.TorsionFreeZeroDivisors.SwapCycles.away_countline 2326 - theorem
OAI.TorsionFreeZeroDivisors.SwapCycles.count_leline 2341Source documentation
A two-endpoint switch loses at most one permutation cycle.
theorem count_le : Fintype.card (Cycle f)≤Fintype.card (Cycle (Equiv.swap p q*f))+1 := by …
- lemma
OAI.TorsionFreeZeroDivisors.SwapCycles.cycle_swapline 2352 - def
OAI.TorsionFreeZeroDivisors.SwapCycles.adjacentClassline 2360 - lemma
OAI.TorsionFreeZeroDivisors.SwapCycles.adjacent_fixedline 2361 - lemma
OAI.TorsionFreeZeroDivisors.SwapCycles.adjacentClass_invariantline 2362 - lemma
OAI.TorsionFreeZeroDivisors.SwapCycles.adjacentClass_surjectiveline 2372 - lemma
OAI.TorsionFreeZeroDivisors.SwapCycles.count_reverseline 2384 - lemma
OAI.TorsionFreeZeroDivisors.SwapCycles.adjacent_countline 2388Source documentation
Switching the two arrows adjacent to a nonfixed point splits off that point as one new actual cycle.
lemma adjacent_count (hp : f p≠p) : Fintype.card (Cycle (Equiv.swap p (f p)*f))=Fintype.card (Cycle f)+1 := by … - lemma
OAI.TorsionFreeZeroDivisors.SwapCycles.adjacent_supportline 2394 - lemma
OAI.TorsionFreeZeroDivisors.SwapCycles.away_sameline 2410 - lemma
OAI.TorsionFreeZeroDivisors.SwapCycles.same_monotoneline 2421 - lemma
OAI.TorsionFreeZeroDivisors.SwapCycles.identity_countline 2431 - lemma
OAI.TorsionFreeZeroDivisors.SwapCycles.sign_formulaline 2437Source documentation
The ordinary permutation sign in terms of all cycles, including fixed points.
lemma sign_formula (f : Equiv.Perm O) : Equiv.Perm.sign f=(-1 : ℤˣ)^(Fintype.card O+Fintype.card (Cycle f)) := by … - theorem
OAI.TorsionFreeZeroDivisors.SwapCycles.split_countline 2461Source documentation
A switch between distinct positions of one cycle splits it in two.
theorem split_count (f : Equiv.Perm O) (p q : O) (hpq : p≠q) (h : cycle f p=cycle f q) : Fintype.card (Cycle (Equiv.swap p q*f))=Fintype.card (Cycle f)+1 := by … - lemma
OAI.TorsionFreeZeroDivisors.SwapCycles.face_switchline 2482 - theorem
OAI.TorsionFreeZeroDivisors.SwapCycles.split_eulerline 2490Source documentation
The global sphere Euler lower bound is preserved when one boundary cycle is split at two distinct positions. This finite statement does not identify which realized component contains the outer disk in a self-band surgery.
theorem split_euler (hpq : p≠q) (h : cycle σ p=cycle σ q) (he : Fintype.card O+4≤2*Fintype.card (Cycle σ)+2*Fintype.card (Cycle (α*σ))) : Fintype.card O+4≤2*Fintype.card (Cycle (Equiv.swap p q*σ))+ 2*Fintype.card (Cycle (α*(Equiv.swap p q*σ))) := by … - lemma
OAI.TorsionFreeZeroDivisors.SwapCycles.merge_sameline 2505Source documentation
Switching two distinct cycles joins the two selected positions in one actual new cycle. The witness follows the old cycle up to its first return.
lemma merge_same (h : cycle f p≠cycle f q) : (Equiv.swap p q*f).SameCycle p q := by … - lemma
OAI.TorsionFreeZeroDivisors.SwapCycles.merge_countline 2535 - def
OAI.TorsionFreeZeroDivisors.ComponentEuler.Refinesline 2547 - lemma
OAI.TorsionFreeZeroDivisors.ComponentEuler.refines_of_invariantline 2548 - lemma
OAI.TorsionFreeZeroDivisors.ComponentEuler.merge_refinesline 2552 - def
OAI.TorsionFreeZeroDivisors.ComponentEuler.mergeline 2563 - lemma
OAI.TorsionFreeZeroDivisors.ComponentEuler.merge_refines'line 2565 - lemma
OAI.TorsionFreeZeroDivisors.ComponentEuler.merge_pairline 2569 - def
OAI.TorsionFreeZeroDivisors.ComponentEuler.forestline 2574 - def
OAI.TorsionFreeZeroDivisors.ComponentEuler.faceline 2577 - lemma
OAI.TorsionFreeZeroDivisors.ComponentEuler.face_invariantline 2580 - lemma
OAI.TorsionFreeZeroDivisors.ComponentEuler.face_refinesline 2588 - theorem
OAI.TorsionFreeZeroDivisors.ComponentEuler.upperline 2593Source documentation
Euler's upper bound for the actual component partition formed by gluing listed bands. The forest permutation is a computed partition, not a planar input.
theorem upper (σ : Equiv.Perm O) (l : List (O×O)) : Nat.card (Cycle σ)+Nat.card (Cycle (face σ l))≤ l.length+2*Nat.card (Cycle (forest σ l)) := by …Mentions: OAI.TorsionFreeZeroDivisors.ComponentEuler.face, OAI.TorsionFreeZeroDivisors.ComponentEuler.forest
- lemma
OAI.TorsionFreeZeroDivisors.ComponentEuler.forest_refinesline 2610 - lemma
OAI.TorsionFreeZeroDivisors.ComponentEuler.forest_pairline 2614 - def
OAI.TorsionFreeZeroDivisors.ComponentEuler.Edgeline 2623 - abbrev
OAI.TorsionFreeZeroDivisors.ComponentEuler.Componentline 2625 - def
OAI.TorsionFreeZeroDivisors.ComponentEuler.componentline 2626 - lemma
OAI.TorsionFreeZeroDivisors.ComponentEuler.forest_of_componentline 2627 - lemma
OAI.TorsionFreeZeroDivisors.ComponentEuler.invariant_forestline 2641 - lemma
OAI.TorsionFreeZeroDivisors.ComponentEuler.component_invariantline 2663 - lemma
OAI.TorsionFreeZeroDivisors.ComponentEuler.component_of_forestline 2670 - def
OAI.TorsionFreeZeroDivisors.ComponentEuler.componentEquivline 2674 - lemma
OAI.TorsionFreeZeroDivisors.ComponentEuler.upper_componentsline 2681 - lemma
OAI.TorsionFreeZeroDivisors.ComponentEuler.connected_upperline 2686 - def
OAI.TorsionFreeZeroDivisors.PairingFactors.stripline 2702 - lemma
OAI.TorsionFreeZeroDivisors.PairingFactors.strip_pline 2704 - lemma
OAI.TorsionFreeZeroDivisors.PairingFactors.strip_qline 2707 - lemma
OAI.TorsionFreeZeroDivisors.PairingFactors.strip_awayline 2710 - lemma
OAI.TorsionFreeZeroDivisors.PairingFactors.strip_involutiveline 2716 - lemma
OAI.TorsionFreeZeroDivisors.PairingFactors.strip_supportline 2727 - lemma
OAI.TorsionFreeZeroDivisors.PairingFactors.strip_cardline 2738 - theorem
OAI.TorsionFreeZeroDivisors.PairingFactors.factorizationline 2759Source documentation
Every finite involution is literally a product of its own nontrivial paired-edge swaps, with exactly one factor for each pair.
theorem factorization : ∃l : List (O×O), (l.map (fun e=>Equiv.swap e.1 e.2)).prod=α ∧ 2*l.length=α.support.card ∧ ∀e∈l,e.1≠e.2 ∧ α e.1=e.2 := by … - lemma
OAI.TorsionFreeZeroDivisors.MapEuler.product_invariantline 2799 - lemma
OAI.TorsionFreeZeroDivisors.MapEuler.face_productline 2817 - def
OAI.TorsionFreeZeroDivisors.MapEuler.Edgeline 2823 - abbrev
OAI.TorsionFreeZeroDivisors.MapEuler.Componentline 2824 - def
OAI.TorsionFreeZeroDivisors.MapEuler.componentline 2825 - lemma
OAI.TorsionFreeZeroDivisors.MapEuler.component_forestline 2831 - lemma
OAI.TorsionFreeZeroDivisors.MapEuler.forest_alphaline 2838 - lemma
OAI.TorsionFreeZeroDivisors.MapEuler.forest_componentline 2842 - def
OAI.TorsionFreeZeroDivisors.MapEuler.componentEquivline 2855 - lemma
OAI.TorsionFreeZeroDivisors.MapEuler.upper_factorsline 2863 - theorem
OAI.TorsionFreeZeroDivisors.MapEuler.upperline 2871Source documentation
Every finite orientable permutation map obeys the Euler upper bound. This uses only its actual involution and actual connected-component equivalence; no topological realization or Euler inequality is assumed.
theorem upper (hi : Function.Involutive α) : 2*Nat.card (Cycle σ)+2*Nat.card (Cycle (α*σ))≤α.support.card+4*Nat.card (Component σ α) := by … - lemma
OAI.TorsionFreeZeroDivisors.MapEuler.fixedFree_upperline 2876 - lemma
OAI.TorsionFreeZeroDivisors.MapEuler.connected_upperline 2881 - def
OAI.TorsionFreeZeroDivisors.ComponentEuler.handlesline 2899Source documentation
A handle is precisely an edge whose endpoints are already in one component but which merges two distinct face cycles when glued.
def handles (σ : Equiv.Perm O) : List (O×O) → ℕ | []=>0 | e::l=>handles σ l+if cycle (forest σ l) e.1=cycle (forest σ l) e.2 ∧ cycle (face σ l) e.1≠cycle (face σ l) e.2 then 1 else 0 omit [Fintype O] inMentions: OAI.TorsionFreeZeroDivisors.ComponentEuler.forest, OAI.TorsionFreeZeroDivisors.ComponentEuler.face
- lemma
OAI.TorsionFreeZeroDivisors.ComponentEuler.handles_tailline 2904 - lemma
OAI.TorsionFreeZeroDivisors.ComponentEuler.handles_exactline 2906 - lemma
OAI.TorsionFreeZeroDivisors.ComponentEuler.zero_handlesline 2934 - def
OAI.TorsionFreeZeroDivisors.MapEuler.GenusZeroline 2947Source documentation
Combinatorial genus zero, including disconnected maps and isolated darts. This is a definition in permutation data, not an asserted sphere embedding.
def GenusZero : Prop := …
- lemma
OAI.TorsionFreeZeroDivisors.MapEuler.genusZero_of_lowerline 2949 - lemma
OAI.TorsionFreeZeroDivisors.MapEuler.genusZero_iff_handlesline 2952 - lemma
OAI.TorsionFreeZeroDivisors.PairingFactors.strip_edgeline 2965 - lemma
OAI.TorsionFreeZeroDivisors.MapEuler.genusZero_stripline 2982Source documentation
Deleting an actual paired edge cannot create a handle in any component.
lemma genusZero_strip (hz : GenusZero σ α) (p : O) (hp : α p≠p) : GenusZero σ (strip α p) := by …
- lemma
OAI.TorsionFreeZeroDivisors.MapEuler.dual_relline 3001 - lemma
OAI.TorsionFreeZeroDivisors.MapEuler.dual_twiceline 3015 - def
OAI.TorsionFreeZeroDivisors.MapEuler.dualEquivline 3018 - lemma
OAI.TorsionFreeZeroDivisors.MapEuler.genusZero_dualline 3023 - theorem
OAI.TorsionFreeZeroDivisors.MapEuler.genusZero_bandline 3031Source documentation
The actual band splice preserves componentwise combinatorial genus zero, prior to bypassing its two now-unpaired occurrences. Both the merge and the split vertex cases are covered by dual edge deletion.
theorem genusZero_band (hz : GenusZero σ α) (p : O) (hp : α p≠p) : GenusZero (Equiv.swap p (α p)*σ) (strip α p) := by … - abbrev
OAI.TorsionFreeZeroDivisors.DeleteCycle.Restline 3047 - lemma
OAI.TorsionFreeZeroDivisors.DeleteCycle.invariantline 3048 - def
OAI.TorsionFreeZeroDivisors.DeleteCycle.restrictline 3052 - lemma
OAI.TorsionFreeZeroDivisors.DeleteCycle.restrict_powline 3053 - lemma
OAI.TorsionFreeZeroDivisors.DeleteCycle.restrict_sameline 3057 - def
OAI.TorsionFreeZeroDivisors.DeleteCycle.classifyline 3072 - lemma
OAI.TorsionFreeZeroDivisors.DeleteCycle.classify_applyline 3075 - lemma
OAI.TorsionFreeZeroDivisors.DeleteCycle.classify_surjectiveline 3083 - lemma
OAI.TorsionFreeZeroDivisors.DeleteCycle.classify_eqline 3090 - def
OAI.TorsionFreeZeroDivisors.DeleteCycle.cycleEquivline 3102 - lemma
OAI.TorsionFreeZeroDivisors.DeleteCycle.fixed_countline 3109 - def
OAI.TorsionFreeZeroDivisors.DeleteCycle.bypassline 3114Source documentation
Delete an occurrence by bypassing it in its boundary cycle.
def bypass : Equiv.Perm (Rest p) := restrict (Equiv.swap p (f p)*f) p (SwapCycles.adjacent_fixed f p)
Mentions: OAI.TorsionFreeZeroDivisors.DeleteCycle.Rest, OAI.TorsionFreeZeroDivisors.DeleteCycle.restrict, OAI.TorsionFreeZeroDivisors.SwapCycles.adjacent_fixed
- lemma
OAI.TorsionFreeZeroDivisors.DeleteCycle.bypass_countline 3115 - lemma
OAI.TorsionFreeZeroDivisors.DeleteCycle.bypass_applyline 3124 - lemma
OAI.TorsionFreeZeroDivisors.DeleteCycle.bypass_mulline 3127Source documentation
Bypassing a point commutes with a left permutation fixing that point.
lemma bypass_mul [Fintype O] (a : Equiv.Perm O) (ha : a p=p) : bypass (a*f) p=restrict a p ha*bypass f p := by …Mentions: OAI.TorsionFreeZeroDivisors.DeleteCycle.bypass, OAI.TorsionFreeZeroDivisors.DeleteCycle.restrict
- lemma
OAI.TorsionFreeZeroDivisors.DeleteCycle.bypass_nonfixedline 3134 - lemma
OAI.TorsionFreeZeroDivisors.DeleteCycle.card_restline 3146 - lemma
OAI.TorsionFreeZeroDivisors.MapEuler.component_rotationline 3157 - lemma
OAI.TorsionFreeZeroDivisors.MapEuler.component_partnerline 3159 - def
OAI.TorsionFreeZeroDivisors.MapEuler.liftline 3161 - lemma
OAI.TorsionFreeZeroDivisors.MapEuler.lift_componentline 3172 - lemma
OAI.TorsionFreeZeroDivisors.MapEuler.swap_invariantline 3174 - abbrev
OAI.TorsionFreeZeroDivisors.MapDeletion.rotationline 3187 - abbrev
OAI.TorsionFreeZeroDivisors.MapDeletion.partnerline 3188 - def
OAI.TorsionFreeZeroDivisors.MapDeletion.pushline 3189 - lemma
OAI.TorsionFreeZeroDivisors.MapDeletion.push_pline 3191 - lemma
OAI.TorsionFreeZeroDivisors.MapDeletion.push_valline 3193 - lemma
OAI.TorsionFreeZeroDivisors.MapDeletion.push_rotationline 3194 - def
OAI.TorsionFreeZeroDivisors.MapDeletion.projectRawline 3201 - lemma
OAI.TorsionFreeZeroDivisors.MapDeletion.project_rotationline 3203 - lemma
OAI.TorsionFreeZeroDivisors.MapDeletion.project_partnerline 3214 - def
OAI.TorsionFreeZeroDivisors.MapDeletion.projectline 3221 - lemma
OAI.TorsionFreeZeroDivisors.MapDeletion.include_rotationline 3223 - lemma
OAI.TorsionFreeZeroDivisors.MapDeletion.include_partnerline 3227 - def
OAI.TorsionFreeZeroDivisors.MapDeletion.inclusionline 3229 - lemma
OAI.TorsionFreeZeroDivisors.MapDeletion.component_pushline 3232 - lemma
OAI.TorsionFreeZeroDivisors.MapDeletion.left_inverseline 3236 - lemma
OAI.TorsionFreeZeroDivisors.MapDeletion.project_surjectiveline 3240 - def
OAI.TorsionFreeZeroDivisors.MapDeletion.componentEquivline 3246 - def
OAI.TorsionFreeZeroDivisors.MapDeletion.support_equivline 3252 - lemma
OAI.TorsionFreeZeroDivisors.MapDeletion.support_countline 3265 - lemma
OAI.TorsionFreeZeroDivisors.MapDeletion.face_nonfixedline 3269 - theorem
OAI.TorsionFreeZeroDivisors.MapDeletion.genusZero_deleteline 3274Source documentation
Removing a dart fixed by the partner involution preserves all actual map components and the Euler equality when its vertex is not a singleton.
theorem genusZero_delete (hs : σ p≠p) (hz : GenusZero σ α) : GenusZero (rotation σ p) (partner α p ha) := by …Mentions: OAI.TorsionFreeZeroDivisors.MapDeletion.rotation, OAI.TorsionFreeZeroDivisors.MapDeletion.partner
- abbrev
OAI.TorsionFreeZeroDivisors.BandEuler.q'line 3303 - abbrev
OAI.TorsionFreeZeroDivisors.BandEuler.Residualline 3304 - def
OAI.TorsionFreeZeroDivisors.BandEuler.adjustedline 3305 - lemma
OAI.TorsionFreeZeroDivisors.BandEuler.adjusted_pline 3308 - lemma
OAI.TorsionFreeZeroDivisors.BandEuler.adjusted_qline 3313 - def
OAI.TorsionFreeZeroDivisors.BandEuler.α₁line 3315 - lemma
OAI.TorsionFreeZeroDivisors.BandEuler.α₁_qline 3317 - def
OAI.TorsionFreeZeroDivisors.BandEuler.partnerline 3321 - def
OAI.TorsionFreeZeroDivisors.BandEuler.switchedline 3323 - def
OAI.TorsionFreeZeroDivisors.BandEuler.rotationline 3324 - def
OAI.TorsionFreeZeroDivisors.BandEuler.faceline 3325 - def
OAI.TorsionFreeZeroDivisors.BandEuler.valline 3327 - lemma
OAI.TorsionFreeZeroDivisors.BandEuler.val_ne_pline 3329 - lemma
OAI.TorsionFreeZeroDivisors.BandEuler.val_ne_qline 3331 - lemma
OAI.TorsionFreeZeroDivisors.BandEuler.val_injectiveline 3335 - lemma
OAI.TorsionFreeZeroDivisors.BandEuler.partner_valline 3339 - lemma
OAI.TorsionFreeZeroDivisors.BandEuler.partner_involutiveline 3344 - lemma
OAI.TorsionFreeZeroDivisors.BandEuler.partner_distinctline 3350 - lemma
OAI.TorsionFreeZeroDivisors.BandEuler.face_eqline 3355 - lemma
OAI.TorsionFreeZeroDivisors.BandEuler.switched_pline 3368 - lemma
OAI.TorsionFreeZeroDivisors.BandEuler.switched_qline 3377 - lemma
OAI.TorsionFreeZeroDivisors.BandEuler.switched_p_ne_qline 3386 - lemma
OAI.TorsionFreeZeroDivisors.BandEuler.face_p_ne_qline 3393 - lemma
OAI.TorsionFreeZeroDivisors.BandEuler.rotation_countline 3397 - lemma
OAI.TorsionFreeZeroDivisors.BandEuler.face_countline 3406 - lemma
OAI.TorsionFreeZeroDivisors.BandEuler.two_fewerline 3414 - theorem
OAI.TorsionFreeZeroDivisors.BandEuler.eulerline 3423Source documentation
The literal removal of a paired band preserves the global sphere Euler lower bound. No componentwise planarity or essentiality is concluded here.
theorem euler (he : Fintype.card O+4≤2*Fintype.card (Cycle σ)+2*Fintype.card (Cycle (face σ α))) : Fintype.card (Residual p q hpq)+4≤2*Fintype.card (Cycle (rotation σ p q hpq))+ 2*Fintype.card (Cycle (partner α hi p q hpq hpair*rotation σ p q hpq)) := by …Mentions: OAI.TorsionFreeZeroDivisors.BandEuler.face, OAI.TorsionFreeZeroDivisors.BandEuler.Residual, OAI.TorsionFreeZeroDivisors.BandEuler.rotation, OAI.TorsionFreeZeroDivisors.BandEuler.partner
- lemma
OAI.TorsionFreeZeroDivisors.MapEuler.genusZero_fintypeline 3433 - lemma
OAI.TorsionFreeZeroDivisors.BandEuler.adjusted_stripline 3445 - lemma
OAI.TorsionFreeZeroDivisors.BandEuler.switched_genusZeroline 3451 - theorem
OAI.TorsionFreeZeroDivisors.BandEuler.genusZeroline 3461Source documentation
The genuine remaining map after deleting a paired band has genus zero in all its actual components. This strengthens the global Euler estimate and uses no assumed planar embedding. Local degenerate faces are explicitly excluded.
theorem genusZero (hz : GenusZero σ α) (hs : σ p≠p) (hfp : face σ α p≠p) (hfq : face σ α q≠q) : GenusZero (rotation σ p q hpq) (partner α hi p q hpq hpair) := by …Mentions: OAI.TorsionFreeZeroDivisors.BandEuler.face, OAI.TorsionFreeZeroDivisors.BandEuler.rotation, OAI.TorsionFreeZeroDivisors.BandEuler.partner
- structure
OAI.TorsionFreeZeroDivisors.WordPairing.Dataline 3485 - def
OAI.TorsionFreeZeroDivisors.WordPairing.Ear.raiseline 3494 - lemma
OAI.TorsionFreeZeroDivisors.WordPairing.Ear.raise_ltline 3496 - lemma
OAI.TorsionFreeZeroDivisors.WordPairing.Ear.raise_injectiveline 3499 - lemma
OAI.TorsionFreeZeroDivisors.WordPairing.Ear.raise_avoidline 3505 - def
OAI.TorsionFreeZeroDivisors.WordPairing.Ear.insertline 3509 - lemma
OAI.TorsionFreeZeroDivisors.WordPairing.Ear.insert_injectiveline 3513 - lemma
OAI.TorsionFreeZeroDivisors.WordPairing.Ear.insert_surjectiveline 3532 - def
OAI.TorsionFreeZeroDivisors.WordPairing.Ear.equivline 3548 - lemma
OAI.TorsionFreeZeroDivisors.WordPairing.Ear.equiv_leftline 3550 - lemma
OAI.TorsionFreeZeroDivisors.WordPairing.Ear.equiv_falseline 3551 - lemma
OAI.TorsionFreeZeroDivisors.WordPairing.Ear.equiv_trueline 3552 - def
OAI.TorsionFreeZeroDivisors.WordPairing.Ear.sumPartnerline 3555 - def
OAI.TorsionFreeZeroDivisors.WordPairing.Ear.partnerline 3557 - lemma
OAI.TorsionFreeZeroDivisors.WordPairing.Ear.partner_applyline 3559 - lemma
OAI.TorsionFreeZeroDivisors.WordPairing.Ear.involutiveline 3563 - lemma
OAI.TorsionFreeZeroDivisors.WordPairing.Ear.distinctline 3571 - lemma
OAI.TorsionFreeZeroDivisors.WordPairing.Ear.noncrossingline 3580 - lemma
OAI.TorsionFreeZeroDivisors.WordPairing.Data.reindex_applyline 3621 - def
OAI.TorsionFreeZeroDivisors.WordPairing.Data.reindexline 3625 - def
OAI.TorsionFreeZeroDivisors.WordPairing.Ear.labelsline 3654 - lemma
OAI.TorsionFreeZeroDivisors.WordPairing.Ear.labels_leftline 3656 - lemma
OAI.TorsionFreeZeroDivisors.WordPairing.Ear.labels_falseline 3659 - lemma
OAI.TorsionFreeZeroDivisors.WordPairing.Ear.labels_trueline 3662 - def
OAI.TorsionFreeZeroDivisors.WordPairing.Ear.dataline 3666 - lemma
OAI.TorsionFreeZeroDivisors.WordPairing.ListInsert.get_oldline 3691 - lemma
OAI.TorsionFreeZeroDivisors.WordPairing.ListInsert.get_firstline 3699 - lemma
OAI.TorsionFreeZeroDivisors.WordPairing.ListInsert.get_secondline 3702 - lemma
OAI.TorsionFreeZeroDivisors.WordPairing.ListInsert.length_eqline 3712 - def
OAI.TorsionFreeZeroDivisors.WordPairing.ListInsert.orderIsoline 3716 - lemma
OAI.TorsionFreeZeroDivisors.WordPairing.ListInsert.labels_eqline 3719 - def
OAI.TorsionFreeZeroDivisors.WordPairing.ListInsert.dataline 3742 - def
OAI.TorsionFreeZeroDivisors.WordPairing.inverseLetterline 3748 - lemma
OAI.TorsionFreeZeroDivisors.WordPairing.inverseLetter_involutiveline 3749 - def
OAI.TorsionFreeZeroDivisors.WordPairing.emptyDataline 3754 - theorem
OAI.TorsionFreeZeroDivisors.WordPairing.of_reductionline 3761 - theorem
OAI.TorsionFreeZeroDivisors.WordPairing.of_identityline 3771 - lemma
OAI.TorsionFreeZeroDivisors.WordPairing.Ear.rotate_valline 3785 - def
OAI.TorsionFreeZeroDivisors.WordPairing.Ear.previousline 3793 - lemma
OAI.TorsionFreeZeroDivisors.WordPairing.Ear.previous_rotateline 3796 - lemma
OAI.TorsionFreeZeroDivisors.WordPairing.Ear.rotate_oldline 3802 - lemma
OAI.TorsionFreeZeroDivisors.WordPairing.Ear.rotate_falseline 3810 - lemma
OAI.TorsionFreeZeroDivisors.WordPairing.Ear.rotate_trueline 3815 - lemma
OAI.TorsionFreeZeroDivisors.WordPairing.Ear.rotation_transportline 3823 - lemma
OAI.TorsionFreeZeroDivisors.WordPairing.Ear.rotation_eqline 3839 - lemma
OAI.TorsionFreeZeroDivisors.WordPairing.Ear.face_eqline 3848 - theorem
OAI.TorsionFreeZeroDivisors.WordPairing.Ear.face_countline 3855 - lemma
OAI.TorsionFreeZeroDivisors.PermutationCycles.card_identityline 3865 - def
OAI.TorsionFreeZeroDivisors.WordPairing.DiskEulerline 3880Source documentation
The disk Euler estimate for the actual circle rotation and word matching. The empty word is distinguished, since it has no boundary occurrences.
def DiskEuler (d : Data inv label) : Prop := …
- lemma
OAI.TorsionFreeZeroDivisors.WordPairing.Data.reindex_eulerline 3883 - lemma
OAI.TorsionFreeZeroDivisors.WordPairing.Ear.empty_rotationline 3891 - lemma
OAI.TorsionFreeZeroDivisors.WordPairing.Ear.eulerline 3903 - lemma
OAI.TorsionFreeZeroDivisors.WordPairing.ListInsert.data_eulerline 3922 - theorem
OAI.TorsionFreeZeroDivisors.WordPairing.of_reduction_eulerline 3931Source documentation
The face-count input is now proved for the matching constructed from literal free cancellation. This does not yet claim a multi-disk PL realization.
theorem of_reduction_euler {w : List (A×Bool)} (h : FreeGroup.Red w []) : ∃ d : Data inverseLetter w.get,DiskEuler d := by …Mentions: OAI.TorsionFreeZeroDivisors.WordPairing.Data, OAI.TorsionFreeZeroDivisors.WordPairing.inverseLetter, OAI.TorsionFreeZeroDivisors.WordPairing.DiskEuler
- theorem
OAI.TorsionFreeZeroDivisors.WordPairing.of_identity_eulerline 3942 - theorem
OAI.TorsionFreeZeroDivisors.WordPairing.adjacent_earline 3955Source documentation
Every nonempty finite noncrossing perfect matching has a literal adjacent ear, obtained by minimizing the positive distance between matched positions.
theorem adjacent_ear (d : Data inv label) (hn : 0 < n) : ∃i : Fin n,(d.partner i).val=i.val+1 := by … - lemma
OAI.TorsionFreeZeroDivisors.WordPairing.EraseEar.backline 4004 - lemma
OAI.TorsionFreeZeroDivisors.WordPairing.EraseEar.remainsline 4007 - def
OAI.TorsionFreeZeroDivisors.WordPairing.EraseEar.lowerline 4022 - lemma
OAI.TorsionFreeZeroDivisors.WordPairing.EraseEar.lower_specline 4023 - lemma
OAI.TorsionFreeZeroDivisors.WordPairing.EraseEar.lower_involutiveline 4025 - def
OAI.TorsionFreeZeroDivisors.WordPairing.EraseEar.dataline 4030 - lemma
OAI.TorsionFreeZeroDivisors.WordPairing.EraseEar.recoverline 4050 - lemma
OAI.TorsionFreeZeroDivisors.WordPairing.EraseEar.eulerline 4062 - theorem
OAI.TorsionFreeZeroDivisors.WordPairing.Data.diskEulerline 4072Source documentation
Every literal finite noncrossing inverse-letter matching has the disk Euler estimate, independently of its choice as a free cancellation witness.
theorem Data.diskEuler {n : ℕ} {label : Fin n → A} (d : Data inv label) : DiskEuler d := by …Mentions: OAI.TorsionFreeZeroDivisors.WordPairing.Data, OAI.TorsionFreeZeroDivisors.WordPairing.DiskEuler
- lemma
OAI.TorsionFreeZeroDivisors.MapEuler.component_sameCycleline 4095 - lemma
OAI.TorsionFreeZeroDivisors.WordPairing.rotate_sameCycleline 4106 - theorem
OAI.TorsionFreeZeroDivisors.WordPairing.Data.genusZeroline 4113Source documentation
The noncrossing cancellation matching has actual combinatorial genus zero, not just a scalar disk face estimate. Nonempty words (necessarily of length at least two) have a single map component; the empty case is separate.
theorem Data.genusZero : GenusZero (finRotate n) d.partner := by …
- lemma
OAI.TorsionFreeZeroDivisors.DeleteCycle.bypass_fixedline 4154 - def
OAI.TorsionFreeZeroDivisors.IsolatedDeletion.classifyline 4164 - lemma
OAI.TorsionFreeZeroDivisors.IsolatedDeletion.classify_rotationline 4166 - lemma
OAI.TorsionFreeZeroDivisors.IsolatedDeletion.classify_partnerline 4171 - def
OAI.TorsionFreeZeroDivisors.IsolatedDeletion.projectline 4176 - def
OAI.TorsionFreeZeroDivisors.IsolatedDeletion.inclusionline 4178 - lemma
OAI.TorsionFreeZeroDivisors.IsolatedDeletion.project_injectiveline 4181 - lemma
OAI.TorsionFreeZeroDivisors.IsolatedDeletion.project_surjectiveline 4196 - def
OAI.TorsionFreeZeroDivisors.IsolatedDeletion.componentEquivline 4205 - lemma
OAI.TorsionFreeZeroDivisors.IsolatedDeletion.component_countline 4208 - theorem
OAI.TorsionFreeZeroDivisors.IsolatedDeletion.genusZeroline 4213Source documentation
Deleting an isolated unpaired occurrence removes one vertex, one face and one actual connected component; genus zero is preserved also in the empty case.
theorem genusZero (hz : GenusZero σ α) : GenusZero (bypass σ p) (restrict α p ha) := by … - theorem
OAI.TorsionFreeZeroDivisors.MapDeletion.genusZero_delete_allline 4247Source documentation
Unconditional deletion of an unpaired occurrence, including isolated vertices/components.
theorem genusZero_delete_all (hz : GenusZero σ α) : GenusZero (bypass σ p) (restrict α p ha) := by …
- theorem
OAI.TorsionFreeZeroDivisors.BandEuler.genusZero_allline 4263Source documentation
Paired-band deletion preserves genus zero without any degree or face nondegeneracy assumptions. Empty residual maps, isolated disks, monogons, digons, and split components are all included. This is purely a permutation-map result, not an assertion that an essential sphere survives the surgery.
theorem genusZero_all (hz : GenusZero σ α) : GenusZero (rotation σ p q hpq) (partner α hi p q hpq hpair) := by …Mentions: OAI.TorsionFreeZeroDivisors.BandEuler.rotation, OAI.TorsionFreeZeroDivisors.BandEuler.partner
- theorem
OAI.TorsionFreeZeroDivisors.MapEuler.euler_of_genusZeroline 4279Source documentation
Exact Euler lower bound used by the source interval estimate, extracted from actual combinatorial genus zero. No connectivity is assumed: one actual occurrence suffices to make the component count positive.
theorem euler_of_genusZero [Nonempty O] (hz : GenusZero σ α) (hf : ∀x,α x≠x) : Fintype.card O+4≤2*Fintype.card (Cycle σ)+2*Fintype.card (Cycle (α*σ)) := by … - def
OAI.TorsionFreeZeroDivisors.BoundarySurgery.Consistentline 4297Source documentation
Consecutive edge endpoint agreement. A marked exterior break can be encoded by one extra formal item with distinct prescribed before/after endpoints.
def Consistent : Prop := ∀ x,after x=before (σ x) …
- lemma
OAI.TorsionFreeZeroDivisors.BoundarySurgery.bypass_consistentline 4299 - def
OAI.TorsionFreeZeroDivisors.BoundarySurgery.swappedBeforeline 4306 - lemma
OAI.TorsionFreeZeroDivisors.BoundarySurgery.switched_consistentline 4308 - theorem
OAI.TorsionFreeZeroDivisors.BoundarySurgery.consistentline 4318Source documentation
The literal band-spliced boundary preserves the graph endpoint equations. The two crossed endpoints are exactly those forced by an edge and its reverse. No statement about homotopy or essentiality is hidden in this combinatorial lemma, and neither distinct-boundary nor same-boundary cases are excluded.
theorem consistent (h : Consistent σ before after) (hp : after p=before q) (hq : after q=before p) : Consistent (rotation σ p q hpq) (fun x=>before (val p q hpq x)) (fun x=>after (val p q hpq x)) := by …Mentions: OAI.TorsionFreeZeroDivisors.BoundarySurgery.Consistent
- lemma
OAI.TorsionFreeZeroDivisors.BoundarySurgery.marker_nonfixedline 4336Source documentation
A surviving exterior marker keeps its prescribed distinct endpoints, so its new boundary contains at least one actual edge after the deletion.
lemma marker_nonfixed (h : Consistent σ before after) (hp : after p=before q) (hq : after q=before p) (m : Residual p q hpq) (hm : after (val p q hpq m)≠before (val p q hpq m)) : rotation σ p q hpq m≠m := by …Mentions: OAI.TorsionFreeZeroDivisors.BoundarySurgery.Consistent
- lemma
OAI.TorsionFreeZeroDivisors.VertexSplit.forest_partnerline 4357 - lemma
OAI.TorsionFreeZeroDivisors.VertexSplit.forest_joinline 4362 - lemma
OAI.TorsionFreeZeroDivisors.VertexSplit.forest_rotationline 4368 - lemma
OAI.TorsionFreeZeroDivisors.VertexSplit.original_invariantline 4374 - def
OAI.TorsionFreeZeroDivisors.VertexSplit.toOriginalline 4390 - def
OAI.TorsionFreeZeroDivisors.VertexSplit.toForestline 4392 - def
OAI.TorsionFreeZeroDivisors.VertexSplit.componentEquivline 4394 - lemma
OAI.TorsionFreeZeroDivisors.VertexSplit.face_eqline 4403 - theorem
OAI.TorsionFreeZeroDivisors.MapEuler.genusZero_vertexSplitline 4418Source documentation
Splitting a vertex along two gaps preserves combinatorial genus zero. This permits empty/isolated components and needs no topological embedding assumption. The two gaps must be on the same actual vertex cycle.
theorem genusZero_vertexSplit (hz : GenusZero σ α) (p q : O) (hpq : p≠q) (hc : cycle σ p=cycle σ q) : GenusZero (Equiv.swap p q*σ) α := by … - def
OAI.TorsionFreeZeroDivisors.MapConjugation.forwardline 4454 - def
OAI.TorsionFreeZeroDivisors.MapConjugation.backwardline 4458 - def
OAI.TorsionFreeZeroDivisors.MapConjugation.componentsline 4462 - def
OAI.TorsionFreeZeroDivisors.MapConjugation.supportsline 4474 - lemma
OAI.TorsionFreeZeroDivisors.MapConjugation.support_countline 4489 - theorem
OAI.TorsionFreeZeroDivisors.MapConjugation.genusZeroline 4492Source documentation
Changing the actual finite occurrence coordinates does not change genus.
theorem genusZero (h : GenusZero σ α) : GenusZero σ' α' := by …
- abbrev
OAI.TorsionFreeZeroDivisors.MatchingSurgery.Remainingline 4513 - def
OAI.TorsionFreeZeroDivisors.MatchingSurgery.spliceline 4514 - lemma
OAI.TorsionFreeZeroDivisors.MatchingSurgery.splice_avoidsline 4517 - def
OAI.TorsionFreeZeroDivisors.MatchingSurgery.applyline 4537 - lemma
OAI.TorsionFreeZeroDivisors.MatchingSurgery.involutiveline 4540 - lemma
OAI.TorsionFreeZeroDivisors.MatchingSurgery.distinctline 4558 - def
OAI.TorsionFreeZeroDivisors.MatchingSurgery.partnerline 4572 - lemma
OAI.TorsionFreeZeroDivisors.MatchingSurgery.compatibleline 4577 - lemma
OAI.TorsionFreeZeroDivisors.Smoothing.rotation_invariantline 4597 - def
OAI.TorsionFreeZeroDivisors.Smoothing.rotationline 4603 - abbrev
OAI.TorsionFreeZeroDivisors.Smoothing.rline 4606 - lemma
OAI.TorsionFreeZeroDivisors.Smoothing.prline 4608 - lemma
OAI.TorsionFreeZeroDivisors.Smoothing.rename_invariantline 4610 - def
OAI.TorsionFreeZeroDivisors.Smoothing.flattenline 4620 - def
OAI.TorsionFreeZeroDivisors.Smoothing.renameline 4626 - def
OAI.TorsionFreeZeroDivisors.Smoothing.coordinatesline 4628 - lemma
OAI.TorsionFreeZeroDivisors.Smoothing.coordinates_valline 4630 - lemma
OAI.TorsionFreeZeroDivisors.Smoothing.partner_commutesline 4633 - lemma
OAI.TorsionFreeZeroDivisors.Smoothing.bypass_valueline 4656 - lemma
OAI.TorsionFreeZeroDivisors.Smoothing.rotation_valueline 4662 - lemma
OAI.TorsionFreeZeroDivisors.Smoothing.smoothing_valueline 4684 - lemma
OAI.TorsionFreeZeroDivisors.Smoothing.rotation_commutesline 4730 - theorem
OAI.TorsionFreeZeroDivisors.Smoothing.genusZeroline 4742Source documentation
Suppressing an actual two-occurrence boundary splices its matching partners, including the already-paired case, and preserves combinatorial genus zero.
theorem genusZero (hz : MapEuler.GenusZero σ α) : MapEuler.GenusZero (rotation σ p q hsp hsq) (MatchingSurgery.partner α hi hf p q hpq) := by …Mentions: OAI.TorsionFreeZeroDivisors.MapEuler.GenusZero, OAI.TorsionFreeZeroDivisors.Smoothing.rotation, OAI.TorsionFreeZeroDivisors.MatchingSurgery.partner
- def
OAI.TorsionFreeZeroDivisors.Tightening.isolateline 4770 - lemma
OAI.TorsionFreeZeroDivisors.Tightening.q_ne_nextline 4772 - lemma
OAI.TorsionFreeZeroDivisors.Tightening.isolate_pline 4774 - lemma
OAI.TorsionFreeZeroDivisors.Tightening.isolate_qline 4777 - def
OAI.TorsionFreeZeroDivisors.Tightening.rotationline 4778 - lemma
OAI.TorsionFreeZeroDivisors.Tightening.isolate_genusZeroline 4783 - theorem
OAI.TorsionFreeZeroDivisors.Tightening.genusZeroline 4792Source documentation
Deleting an actual adjacent backtracking pair from its boundary, with the forced partner splice, preserves genus zero even if the two occurrences were not paired. This supplies the finite-map part of cyclic tightening.
theorem genusZero (hz : MapEuler.GenusZero σ α) : MapEuler.GenusZero (rotation σ p q hpq hsp) (MatchingSurgery.partner α hi hf p q hpq) := …Mentions: OAI.TorsionFreeZeroDivisors.MapEuler.GenusZero, OAI.TorsionFreeZeroDivisors.Tightening.rotation, OAI.TorsionFreeZeroDivisors.MatchingSurgery.partner
- theorem
OAI.TorsionFreeZeroDivisors.Tightening.consistentline 4802Source documentation
The graph endpoint conditions, not just the rose labels, survive the backtracking deletion. The second occurrence really returns to the first occurrence's starting vertex.
theorem consistent (h : BoundarySurgery.Consistent σ before after) (hq : after q=before p) : BoundarySurgery.Consistent (rotation σ p q hpq hsp) (fun x=>before x) (fun x=>after x) := by …Mentions: OAI.TorsionFreeZeroDivisors.BoundarySurgery.Consistent, OAI.TorsionFreeZeroDivisors.Tightening.rotation
- lemma
OAI.TorsionFreeZeroDivisors.Tightening.marker_nonfixedline 4811 - abbrev
OAI.TorsionFreeZeroDivisors.PartialMatchingSurgery.Remainingline 4830 - def
OAI.TorsionFreeZeroDivisors.PartialMatchingSurgery.spliceline 4831 - lemma
OAI.TorsionFreeZeroDivisors.PartialMatchingSurgery.splice_avoidsline 4834 - def
OAI.TorsionFreeZeroDivisors.PartialMatchingSurgery.applyline 4854 - lemma
OAI.TorsionFreeZeroDivisors.PartialMatchingSurgery.involutiveline 4857 - lemma
OAI.TorsionFreeZeroDivisors.PartialMatchingSurgery.distinctline 4875 - def
OAI.TorsionFreeZeroDivisors.PartialMatchingSurgery.partnerline 4889 - lemma
OAI.TorsionFreeZeroDivisors.PartialMatchingSurgery.compatibleline 4894 - lemma
OAI.TorsionFreeZeroDivisors.PartialMatchingSurgery.fixedline 4905 - lemma
OAI.TorsionFreeZeroDivisors.PartialSmoothing.rotation_invariantline 4919 - def
OAI.TorsionFreeZeroDivisors.PartialSmoothing.rotationline 4925 - abbrev
OAI.TorsionFreeZeroDivisors.PartialSmoothing.rline 4928 - lemma
OAI.TorsionFreeZeroDivisors.PartialSmoothing.prline 4930 - lemma
OAI.TorsionFreeZeroDivisors.PartialSmoothing.rename_invariantline 4932 - def
OAI.TorsionFreeZeroDivisors.PartialSmoothing.flattenline 4942 - def
OAI.TorsionFreeZeroDivisors.PartialSmoothing.renameline 4948 - def
OAI.TorsionFreeZeroDivisors.PartialSmoothing.coordinatesline 4950 - lemma
OAI.TorsionFreeZeroDivisors.PartialSmoothing.coordinates_valline 4952 - lemma
OAI.TorsionFreeZeroDivisors.PartialSmoothing.partner_commutesline 4955 - lemma
OAI.TorsionFreeZeroDivisors.PartialSmoothing.bypass_valueline 4978 - lemma
OAI.TorsionFreeZeroDivisors.PartialSmoothing.rotation_valueline 4984 - lemma
OAI.TorsionFreeZeroDivisors.PartialSmoothing.smoothing_valueline 5006 - lemma
OAI.TorsionFreeZeroDivisors.PartialSmoothing.rotation_commutesline 5052 - theorem
OAI.TorsionFreeZeroDivisors.PartialSmoothing.genusZeroline 5064Source documentation
Suppressing an actual two-occurrence boundary splices its matching partners, including the already-paired case, and preserves combinatorial genus zero.
theorem genusZero (hz : MapEuler.GenusZero σ α) : MapEuler.GenusZero (rotation σ p q hsp hsq) (PartialMatchingSurgery.partner α hi p q hpq hfp hfq) := by …Mentions: OAI.TorsionFreeZeroDivisors.MapEuler.GenusZero, OAI.TorsionFreeZeroDivisors.PartialSmoothing.rotation, OAI.TorsionFreeZeroDivisors.PartialMatchingSurgery.partner
- theorem
OAI.TorsionFreeZeroDivisors.Tightening.partial_genusZeroline 5094Source documentation
The tightening operation also allows unrelated unpaired markers. Only the actual two deleted letter occurrences are required to be nonfixed.
theorem partial_genusZero (hz : MapEuler.GenusZero σ α) : MapEuler.GenusZero (rotation σ p q hpq hsp) (PartialMatchingSurgery.partner α hi p q hpq hfp hfq) := …Mentions: OAI.TorsionFreeZeroDivisors.MapEuler.GenusZero, OAI.TorsionFreeZeroDivisors.Tightening.rotation, OAI.TorsionFreeZeroDivisors.PartialMatchingSurgery.partner
- structure
OAI.TorsionFreeZeroDivisors.FinitePicture.Dataline 5107Source documentation
A purely finite lifted boundary certificate. The single unpaired marker records the break from the exterior endpoint y back to the prescribed root x. No surface map, cone filling, essentiality, or CW realization is asserted.
structure Data where …
- lemma
OAI.TorsionFreeZeroDivisors.FinitePicture.Data.nonfixedline 5127 - lemma
OAI.TorsionFreeZeroDivisors.FinitePicture.Data.partner_ne_markerline 5128 - lemma
OAI.TorsionFreeZeroDivisors.FinitePicture.Data.swap_endpointsline 5130 - lemma
OAI.TorsionFreeZeroDivisors.FinitePicture.Data.marker_not_fixed_rotationline 5140 - def
OAI.TorsionFreeZeroDivisors.FinitePicture.Data.reindexline 5147 - abbrev
OAI.TorsionFreeZeroDivisors.FinitePicture.Data.bandMarkerline 5178 - def
OAI.TorsionFreeZeroDivisors.FinitePicture.Data.bandline 5179 - abbrev
OAI.TorsionFreeZeroDivisors.FinitePicture.Data.tightMarkerline 5211 - lemma
OAI.TorsionFreeZeroDivisors.FinitePicture.Data.option_inverseline 5212 - lemma
OAI.TorsionFreeZeroDivisors.FinitePicture.Data.option_compatibleline 5217 - lemma
OAI.TorsionFreeZeroDivisors.FinitePicture.Data.option_backtrackline 5221 - def
OAI.TorsionFreeZeroDivisors.FinitePicture.Data.tightenline 5229Source documentation
The actual adjacent reverse-edge deletion with the forced partner splice. In contrast to the paired band move, p and q need not be partners.
def tighten (hinv : Function.Involutive inv) (hlabel : ∀d,label (Γ.reverse d)=inv (label d)) (hsp : a.rotation p=q) (he : a.dart q=(a.dart p).map Γ.reverse) : Data (O:=PartialMatchingSurgery.Remaining p q) Γ label inv x y where …Mentions: OAI.TorsionFreeZeroDivisors.FinitePicture.Data, OAI.TorsionFreeZeroDivisors.PartialMatchingSurgery.Remaining
- lemma
OAI.TorsionFreeZeroDivisors.FinitePicture.Data.unequal_backtrackline 5265 - def
OAI.TorsionFreeZeroDivisors.FinitePicture.Data.Reducedline 5274Source documentation
Both kinds of shortening forbidden in a least marked finite certificate.
def Reduced : Prop := …
- def
OAI.TorsionFreeZeroDivisors.FinitePicture.Data.deletionCoordinatesline 5277 - lemma
OAI.TorsionFreeZeroDivisors.FinitePicture.Data.remaining_two_fewerline 5283 - theorem
OAI.TorsionFreeZeroDivisors.FinitePicture.Data.reduced_of_minimumline 5286 - theorem
OAI.TorsionFreeZeroDivisors.FinitePicture.Data.exists_reducedline 5312Source documentation
From an actual finite marked certificate obtain one with the same distinct endpoints and with no same-lift paired band or adjacent backtracking. This is a finite combinatorial reduction, not existence of a certificate for a null word.
theorem exists_reduced (hinv : Function.Involutive inv) (hlabel : ∀d,label (Γ.reverse d)=inv (label d)) : ∃n,n≤Fintype.card O ∧ ∃b : Data (O:=Fin n) Γ label inv x y,b.Reduced := by … - lemma
OAI.TorsionFreeZeroDivisors.PermutationCycles.excess_identityline 5330 - lemma
OAI.TorsionFreeZeroDivisors.PermutationCycles.twice_cycles_leline 5341 - abbrev
OAI.TorsionFreeZeroDivisors.FinitePicture.Data.Occline 5353 - def
OAI.TorsionFreeZeroDivisors.FinitePicture.Data.closedRotationline 5354 - def
OAI.TorsionFreeZeroDivisors.FinitePicture.Data.fullPartnerline 5355 - lemma
OAI.TorsionFreeZeroDivisors.FinitePicture.Data.fullPartner_valline 5356 - lemma
OAI.TorsionFreeZeroDivisors.FinitePicture.Data.fullPartner_involutiveline 5357 - lemma
OAI.TorsionFreeZeroDivisors.FinitePicture.Data.fullPartner_nonfixedline 5361 - lemma
OAI.TorsionFreeZeroDivisors.FinitePicture.Data.dart_isSomeline 5364 - def
OAI.TorsionFreeZeroDivisors.FinitePicture.Data.edgeline 5367 - lemma
OAI.TorsionFreeZeroDivisors.FinitePicture.Data.some_edgeline 5368 - lemma
OAI.TorsionFreeZeroDivisors.FinitePicture.Data.edge_beginsline 5369 - lemma
OAI.TorsionFreeZeroDivisors.FinitePicture.Data.edge_endsline 5370 - lemma
OAI.TorsionFreeZeroDivisors.FinitePicture.Data.edge_compatibleline 5371 - def
OAI.TorsionFreeZeroDivisors.FinitePicture.Data.firstline 5377 - lemma
OAI.TorsionFreeZeroDivisors.FinitePicture.Data.first_startline 5378 - lemma
OAI.TorsionFreeZeroDivisors.FinitePicture.Data.closedRotation_at_firstline 5381 - lemma
OAI.TorsionFreeZeroDivisors.FinitePicture.Data.closedRotation_valline 5392 - lemma
OAI.TorsionFreeZeroDivisors.FinitePicture.Data.edge_consistentline 5399Source documentation
All joins other than the unique root break are actual graph joins.
lemma edge_consistent (i : a.Occ) (hi : a.closedRotation i≠a.first hxy) : Γ.origin (Γ.reverse (a.edge i))=Γ.origin (a.edge (a.closedRotation i)) := by … - lemma
OAI.TorsionFreeZeroDivisors.FinitePicture.Data.last_endline 5403 - lemma
OAI.TorsionFreeZeroDivisors.FinitePicture.Data.closedRotation_genusZeroline 5407 - lemma
OAI.TorsionFreeZeroDivisors.FinitePicture.Data.closedRotation_eulerline 5413Source documentation
The unmarked pairing is nonempty and has the literal sphere Euler bound. This proves the scalar input needed by interval cutting, not a PL realization.
lemma closedRotation_euler : Fintype.card a.Occ+4≤2*Fintype.card (Cycle a.closedRotation)+ 2*Fintype.card (Cycle (a.fullPartner*a.closedRotation)) := by … - lemma
OAI.TorsionFreeZeroDivisors.FinitePicture.Data.edge_partner_not_reverseline 5419 - lemma
OAI.TorsionFreeZeroDivisors.FinitePicture.Data.edge_partner_not_sameline 5424 - lemma
OAI.TorsionFreeZeroDivisors.FinitePicture.Data.edge_reducedline 5431 - lemma
OAI.TorsionFreeZeroDivisors.FinitePicture.Data.edge_no_backtrackline 5440 - lemma
OAI.TorsionFreeZeroDivisors.FinitePicture.Data.face_fixed_breakline 5449 - lemma
OAI.TorsionFreeZeroDivisors.FinitePicture.Data.face_monogons_leline 5462 - lemma
OAI.TorsionFreeZeroDivisors.FinitePicture.Data.at_least_two_boundariesline 5475Source documentation
A reduced distinct-endpoint certificate necessarily contains an ordinary boundary, not just the exceptional root cycle. This includes singleton cycles.
lemma at_least_two_boundaries : 2≤Fintype.card (Cycle a.closedRotation) := by …
- lemma
OAI.TorsionFreeZeroDivisors.FinitePicture.Data.ordinary_boundaryline 5481