OAI/GroupTheory/ArtinCAT0/Folding.lean
105 declarations, 0 contain sorry, 0 declared as axioms
- def
OAI.ArtinCAT0.TriangleMesh.foldPartnerline 9 - structure
OAI.ArtinCAT0.TriangleMesh.Foldline 13 - def
OAI.ArtinCAT0.TriangleMesh.Fold.Removedline 24 - abbrev
OAI.ArtinCAT0.TriangleMesh.Fold.Keptline 25 - abbrev
OAI.ArtinCAT0.TriangleMesh.Fold.partnerline 26 - lemma
OAI.ArtinCAT0.TriangleMesh.Fold.partner_fline 28 - lemma
OAI.ArtinCAT0.TriangleMesh.Fold.partner_gline 30 - lemma
OAI.ArtinCAT0.TriangleMesh.Fold.partner_outsideline 33 - lemma
OAI.ArtinCAT0.TriangleMesh.Fold.partner_partnerline 37 - lemma
OAI.ArtinCAT0.TriangleMesh.Fold.partner_removedline 51 - lemma
OAI.ArtinCAT0.TriangleMesh.Fold.partner_neline 57 - lemma
OAI.ArtinCAT0.TriangleMesh.Fold.mate_seam_reverseline 65 - lemma
OAI.ArtinCAT0.TriangleMesh.Fold.mate_partner_outsideline 68 - def
OAI.ArtinCAT0.TriangleMesh.Fold.spliceline 78 - lemma
OAI.ArtinCAT0.TriangleMesh.Fold.splice_insideline 82 - lemma
OAI.ArtinCAT0.TriangleMesh.Fold.splice_outsideline 84 - lemma
OAI.ArtinCAT0.TriangleMesh.Fold.splice_keptline 87 - lemma
OAI.ArtinCAT0.TriangleMesh.Fold.splice_spliceline 94 - lemma
OAI.ArtinCAT0.TriangleMesh.Fold.splice_neline 103 - def
OAI.ArtinCAT0.TriangleMesh.Fold.mergeline 113 - lemma
OAI.ArtinCAT0.TriangleMesh.Fold.merge_oppositeline 117 - lemma
OAI.ArtinCAT0.TriangleMesh.Fold.tail_seamline 121 - lemma
OAI.ArtinCAT0.TriangleMesh.Fold.tail_seam_reverseline 125 - lemma
OAI.ArtinCAT0.TriangleMesh.Fold.merge_tail_partnerline 129 - abbrev
OAI.ArtinCAT0.TriangleMesh.Fold.oldDartline 142 - lemma
OAI.ArtinCAT0.TriangleMesh.Fold.oldDart_keptline 144 - def
OAI.ArtinCAT0.TriangleMesh.Fold.newMateline 147 - lemma
OAI.ArtinCAT0.TriangleMesh.Fold.oldDart_newMateline 151 - lemma
OAI.ArtinCAT0.TriangleMesh.Fold.oldDart_injectiveline 154 - lemma
OAI.ArtinCAT0.TriangleMesh.Fold.newMate_involutiveline 160 - def
OAI.ArtinCAT0.TriangleMesh.Fold.meshline 165 - def
OAI.ArtinCAT0.TriangleMesh.Fold.toNewDartline 181 - lemma
OAI.ArtinCAT0.TriangleMesh.Fold.oldDart_toNewDartline 184 - lemma
OAI.ArtinCAT0.TriangleMesh.Fold.toNewDart_oldDartline 187 - def
OAI.ArtinCAT0.TriangleMesh.Fold.sideValueline 190 - lemma
OAI.ArtinCAT0.TriangleMesh.Fold.sideValue_partnerline 194 - def
OAI.ArtinCAT0.TriangleMesh.Fold.extensionline 211 - lemma
OAI.ArtinCAT0.TriangleMesh.Fold.extension_outsideline 217 - lemma
OAI.ArtinCAT0.TriangleMesh.Fold.extension_f_zeroline 223 - lemma
OAI.ArtinCAT0.TriangleMesh.Fold.extension_g_zeroline 227 - lemma
OAI.ArtinCAT0.TriangleMesh.Fold.extension_removed_nonzeroline 231 - lemma
OAI.ArtinCAT0.TriangleMesh.Fold.extension_mateline 235 - lemma
OAI.ArtinCAT0.TriangleMesh.Fold.sideValue_g_oneline 274 - lemma
OAI.ArtinCAT0.TriangleMesh.Fold.sideValue_g_twoline 279 - lemma
OAI.ArtinCAT0.TriangleMesh.Fold.extension_faceline 284 - theorem
OAI.ArtinCAT0.TriangleMesh.Fold.mesh_exactline 306Source documentation
Deleting the opposite pair preserves exactness of edge cocycles.
theorem mesh_exact (he : M.Exact) : C.mesh.Exact := by …
- def
OAI.ArtinCAT0.TriangleMesh.activeline 337 - lemma
OAI.ArtinCAT0.TriangleMesh.active_exactline 344 - lemma
OAI.ArtinCAT0.TriangleMesh.active_surjectiveline 349 - def
OAI.ArtinCAT0.TriangleMesh.phaseEquivline 353 - lemma
OAI.ArtinCAT0.TriangleMesh.phaseEquiv_applyline 359 - lemma
OAI.ArtinCAT0.TriangleMesh.phaseEquiv_symm_applyline 361 - lemma
OAI.ArtinCAT0.TriangleMesh.phaseEquiv_rotateline 364 - def
OAI.ArtinCAT0.TriangleMesh.rephaseline 368 - lemma
OAI.ArtinCAT0.TriangleMesh.rephase_exactline 384 - def
OAI.ArtinCAT0.xLetterline 410 - def
OAI.ArtinCAT0.hLetterline 414 - def
OAI.ArtinCAT0.positiveDirectionline 416 - def
OAI.ArtinCAT0.negativeDirectionline 417 - def
OAI.ArtinCAT0.reverseDirectionline 418 - lemma
OAI.ArtinCAT0.reverseDirection_reverseDirectionline 420 - def
OAI.ArtinCAT0.cellDirectionline 427Source documentation
Directed sides, retaining the literal nine labels, not just their group values.
def cellDirection (b i s t : Fin 3) : LinkDirection := …
Mentions: OAI.ArtinCAT0.LinkDirection
- lemma
OAI.ArtinCAT0.cellDirection_reverseline 435 - abbrev
OAI.ArtinCAT0.CornerOrderline 438 - def
OAI.ArtinCAT0.cellFlagline 440 - lemma
OAI.ArtinCAT0.cellFlag_injectiveline 443 - lemma
OAI.ArtinCAT0.cellFlag_adjacentline 446 - lemma
OAI.ArtinCAT0.cellDirection_injectiveline 449 - def
OAI.ArtinCAT0.cornerSignline 454Source documentation
Orientation sign of the vertex correspondence.
def cornerSign (p : CornerOrder) : ℤ := if p 1 = p 0 + 1 then 1 else -1
Mentions: OAI.ArtinCAT0.CornerOrder
- def
OAI.ArtinCAT0.reverseCornerline 456 - lemma
OAI.ArtinCAT0.cornerSign_reverseline 458 - structure
OAI.ArtinCAT0.TargetTriangleline 461 - def
OAI.ArtinCAT0.TargetTriangle.vertexline 466 - def
OAI.ArtinCAT0.TargetTriangle.directionline 469 - lemma
OAI.ArtinCAT0.TargetTriangle.vertex_injectiveline 472 - structure
OAI.ArtinCAT0.TriangleMesh.Labelingline 490Source documentation
Complete cell identities and vertex correspondences; compatibility includes labelled directions rather than merely equal group elements.
structure Labeling where …
- def
OAI.ArtinCAT0.TriangleMesh.Labeling.directionline 503 - lemma
OAI.ArtinCAT0.TriangleMesh.Labeling.direction_mateline 506 - def
OAI.ArtinCAT0.TriangleMesh.Labeling.cornerShiftline 509 - lemma
OAI.ArtinCAT0.TriangleMesh.Labeling.cornerShift_applyline 515 - def
OAI.ArtinCAT0.TriangleMesh.Labeling.cornerAtline 517 - lemma
OAI.ArtinCAT0.TriangleMesh.Labeling.direction_turnline 519 - lemma
OAI.ArtinCAT0.TriangleMesh.Labeling.flag_cornerAtline 533 - lemma
OAI.ArtinCAT0.TriangleMesh.Labeling.link_adjacentline 539 - lemma
OAI.ArtinCAT0.TriangleMesh.Labeling.mate_face_neline 545 - lemma
OAI.ArtinCAT0.TriangleMesh.Labeling.cellFlag_reverseline 554 - lemma
OAI.ArtinCAT0.TriangleMesh.Labeling.backtrack_cellline 558 - def
OAI.ArtinCAT0.TriangleMesh.Labeling.activeline 588 - def
OAI.ArtinCAT0.TriangleMesh.Labeling.rephaseline 595 - lemma
OAI.ArtinCAT0.TriangleMesh.Labeling.orders_of_seamline 609 - lemma
OAI.ArtinCAT0.TriangleMesh.Labeling.order_seam_remainingline 622 - lemma
OAI.ArtinCAT0.TriangleMesh.Labeling.order_seam_signline 625 - lemma
OAI.ArtinCAT0.TriangleMesh.Labeling.order_seam_mateline 628 - def
OAI.ArtinCAT0.TriangleMesh.Labeling.seamFoldline 633 - lemma
OAI.ArtinCAT0.TriangleMesh.Labeling.vertex_mergeline 669 - lemma
OAI.ArtinCAT0.TriangleMesh.Labeling.direction_partnerline 679 - def
OAI.ArtinCAT0.TriangleMesh.Labeling.foldedline 694 - lemma
OAI.ArtinCAT0.TriangleMesh.Labeling.exists_equal_matesline 708 - lemma
OAI.ArtinCAT0.TriangleMesh.Labeling.exists_phased_seamline 717 - lemma
OAI.ArtinCAT0.TriangleMesh.Labeling.cornerSign_shiftline 736 - def
OAI.ArtinCAT0.TriangleMesh.Labeling.signedSumline 739 - lemma
OAI.ArtinCAT0.TriangleMesh.Labeling.signedSum_activeline 742 - lemma
OAI.ArtinCAT0.TriangleMesh.Labeling.signedSum_rephaseline 745 - lemma
OAI.ArtinCAT0.TriangleMesh.Labeling.signedSum_foldedline 749 - theorem
OAI.ArtinCAT0.TriangleMesh.signed_counts_zeroline 773Source documentation
Every exact finite labelled triangular mesh has zero algebraic count on each individual target triangle. No manifold or embedding theorem is assumed.
theorem signed_counts_zero (w : TargetTriangle → ℤ) : ∀ (F : Type u) (V : Type v) [Fintype F] (M : TriangleMesh F V) (L : M.Labeling), M.Exact → L.signedSum w = 0 := by …Mentions: OAI.ArtinCAT0.TargetTriangle, OAI.ArtinCAT0.TriangleMesh