cubical-transport-hott-lean4/CubicalTransport.lean
Maximus Gorog 333f31d4bc
Some checks are pending
Lean Action CI / build (push) Waiting to run
EngineMethodologies + cubical_close: ALGEBRA §9 closer set
Phase D'.6 — closes the "every existing theorem has a methodology"
criterion from ALGEBRA_PLAN.md §9 for the auto-discharging set
(@[simp]-tagged closers whose classifier hypotheses reduce to
struct-projection rfl).

CubicalTransport/Algebra/EngineMethodologies.lean (NEW):
- @[methodology IsCompQTopFace]    compQ_top_face
- @[methodology IsCompQBotFace]    compQ_bot_face
- @[methodology IsTranspQTopFace]  transpQ_top_face
- @[methodology IsTranspQIntervalLine] transpQ_interval_line
- @[methodology IsHCompQTopFace]   hcompQ_top_face

Each registration is a closing-form theorem: it takes the relevant
field tuple of the question and asserts equality to the expected
reduced form, with the classifier hypothesis discharged inline by
`rfl`.  Together with the methodologies in `Algebra/Test.lean`
(`trueMethodology`, `reflMethodologyNat`, `iffRefl`,
`compq_top_concrete`, `transpq_top_concrete`,
`transpq_interval_concrete`), the registry now covers the
auto-discharging core engine theorems.

`cubical_close` macro (in EngineMethodologies.lean):
  cubical_simp; (rfl | cubical_search) — fall-through composition.
  First reduces the goal via @[simp] routing; then closes any
  trivial residue via rfl; then dispatches via the methodology
  library.  The "default tactic" for question-form goals.

Three new end-to-end tests in Algebra/Test.lean exercising
cubical_close on full-face CompQ, trivial True, and full-face
TranspQ goals.

Methodologies still pending @[methodology] tagging (need richer
dispatch for non-trivial classifier conjunctions or Glue/Path
specialisations, scheduled REL2.6+):
- ask_of_const_line (needs ¬IsFullFace ∧ ¬IsEmptyFace ∧ IsConstLine
  conjunction; currently covered by cubical_simp's simp-routing).
- ask_of_pi_line, ask_of_path_line, ask_of_stuck.
- The 9 Glue-transport face-disjoint variants.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-01 01:06:04 -06:00

34 lines
1.1 KiB
Text

import CubicalTransport.Interval
import CubicalTransport.Face
import CubicalTransport.Syntax
import CubicalTransport.DecEq
import CubicalTransport.Subst
import CubicalTransport.DimLine
import CubicalTransport.Typing
import CubicalTransport.Equiv
import CubicalTransport.Glue
import CubicalTransport.Value
import CubicalTransport.Transport
import CubicalTransport.Line
import CubicalTransport.Eval
import CubicalTransport.EvalTest
import CubicalTransport.Readback
import CubicalTransport.FFI
import CubicalTransport.FFITest
import CubicalTransport.ValueTyping
import CubicalTransport.TransportLaws
import CubicalTransport.System
import CubicalTransport.CompLaws
import CubicalTransport.Soundness
import CubicalTransport.Inductive
import CubicalTransport.Bridge
import CubicalTransport.Question
import CubicalTransport.Algebra.Meta
import CubicalTransport.Algebra.Edit
import CubicalTransport.Algebra.Restructure
import CubicalTransport.Algebra.MacroAlias
import CubicalTransport.Algebra.MetaPath
import CubicalTransport.Algebra.Methodology
import CubicalTransport.Algebra.EngineMethodologies
import CubicalTransport.Algebra.Test
import CubicalTransport.PropertyTest