CubicPathwidth.Alg.Proofs.Targets
Source file CubicPathwidth/Alg/Proofs/Targets.lean of the Lean project (how it is built).
Statements of the paper formalised here: Theorem 10.1.
import CubicPathwidth.Alg.Proofs.G1WFBasics
import CubicPathwidth.Alg.Proofs.G2AddEdge
import CubicPathwidth.Alg.Proofs.G3RemoveNode
import CubicPathwidth.Alg.Proofs.G4Induced
import CubicPathwidth.Alg.Proofs.G5Components
import CubicPathwidth.Alg.Proofs.G6UnionAll
import CubicPathwidth.Alg.Proofs.G7Concat
import CubicPathwidth.Alg.Proofs.G8SeparatorGlue
import CubicPathwidth.Alg.Proofs.B1Bridge
import CubicPathwidth.Alg.Proofs.B2OfSimpleGraph
import CubicPathwidth.Alg.Proofs.C1Perm
import CubicPathwidth.Alg.Proofs.C2PlainLayout
import CubicPathwidth.Alg.Proofs.C3Connector
import CubicPathwidth.Alg.Proofs.C4Switched
import CubicPathwidth.Alg.Proofs.C5ReduceRecord
import CubicPathwidth.Alg.Proofs.C6PdTw2
import CubicPathwidth.Alg.Proofs.C7Undo
import CubicPathwidth.Alg.Proofs.T1AppendIsolated
import CubicPathwidth.Alg.Proofs.T2InitInv
import CubicPathwidth.Alg.Proofs.T3LoopPreserves
import CubicPathwidth.Alg.Proofs.A12Top
import CubicPathwidth.Alg.Proofs.A3T4
import CubicPathwidth.Alg.Proofs.E14Exported
/-!
# Stage 1 targets: validity of the Lean port of `sweep.py`
Every proof file takes the results it depends on as hypotheses; this file
instantiates them. The eight targets of the approved specification are the theorems
`algoT1Valid`, `algoT2aValid`, `algoMixedValid`, `algoT4Valid` and
`algoT1Exported`, `algoT2aExported`, `algoMixedExported`, `algoT4Exported`.
-/
namespace CubicPathwidth.Alg
/-! ## Graph layer and contracts -/
theorem removeNodeSpec : RemoveNodeSpec := removeNodeSpec_of wfBasics
theorem inducedSpec : InducedSpec := inducedSpec_of wfBasics addEdgeSpec
theorem componentsSpec : ComponentsSpec := componentsSpec_of wfBasics
theorem unionAllSpec : UnionAllSpec := unionAllSpec_of wfBasics addEdgeSpec
theorem concatValid : ConcatValid := concatValid_of wfBasics unionAllSpec
theorem separatorGlueValid : SeparatorGlueValid := separatorGlueValid_of wfBasics inducedSpec
theorem validPDBridge : ValidPDBridge := validPDBridge_of wfBasics
theorem plainLayoutValid : PlainLayoutValid := plainLayoutValid_of wfBasics plainOrderPerm
theorem switchedLayoutValid : SwitchedLayoutValid :=
switchedLayoutValid_of wfBasics switchedOrderPerm connectorOrderMem
theorem reduceRecordSpec : ReduceRecordSpec :=
reduceRecordSpec_of wfBasics addEdgeSpec removeNodeSpec
theorem pdTw2Valid : PdTw2Valid :=
pdTw2Valid_of wfBasics inducedSpec componentsSpec separatorGlueValid reduceRecordSpec
theorem undoValid : UndoValid := undoValid_of wfBasics inducedSpec componentsSpec pdTw2Valid
theorem appendIsolatedValid : AppendIsolatedValid := appendIsolatedValid_of wfBasics inducedSpec
theorem t4InitInv : T4InitInv :=
t4InitInv_of wfBasics inducedSpec componentsSpec reduceRecordSpec
theorem t4LoopPreserves : T4LoopPreserves :=
t4LoopPreserves_of wfBasics removeNodeSpec inducedSpec componentsSpec reduceRecordSpec
/-! ## The eight targets -/
theorem algoT1Valid : AlgoT1Valid := algoT1Valid_of switchedLayoutValid
theorem algoT2aValid : AlgoT2aValid := algoT2aValid_of plainLayoutValid
theorem algoMixedValid : AlgoMixedValid :=
algoMixedValid_of wfBasics inducedSpec reduceRecordSpec plainLayoutValid undoValid
theorem algoT4Valid : AlgoT4Valid :=
algoT4Valid_of wfBasics inducedSpec unionAllSpec concatValid plainLayoutValid undoValid
t4InitInv t4LoopPreserves appendIsolatedValid
theorem algoT1Exported : AlgoT1Exported :=
algoT1Exported_of validPDBridge ofSimpleGraphSpec algoT1Valid
theorem algoT2aExported : AlgoT2aExported :=
algoT2aExported_of validPDBridge ofSimpleGraphSpec algoT2aValid
theorem algoMixedExported : AlgoMixedExported :=
algoMixedExported_of validPDBridge ofSimpleGraphSpec algoMixedValid
theorem algoT4Exported : AlgoT4Exported :=
algoT4Exported_of validPDBridge ofSimpleGraphSpec algoT4Valid
end CubicPathwidth.Alg
#print axioms CubicPathwidth.Alg.algoT1Valid
#print axioms CubicPathwidth.Alg.algoT2aValid
#print axioms CubicPathwidth.Alg.algoMixedValid
#print axioms CubicPathwidth.Alg.algoT4Valid
#print axioms CubicPathwidth.Alg.algoT1Exported
#print axioms CubicPathwidth.Alg.algoT2aExported
#print axioms CubicPathwidth.Alg.algoMixedExported
#print axioms CubicPathwidth.Alg.algoT4Exported
Back to top