Research-Stack/0-Core-Formalism/lean/external/OTOM/Prohibited.lean

301 lines
12 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import Semantics.Constitution
namespace Semantics.ENE
/-!
# Prohibitions: What is NOT allowed in the ENE model
This module defines the negative space of the semantic universe:
every structure, transition, and collapse that violates the
constitutional membrane is explicitly ruled out.
-/
-- ============================================================================
-- 1. SEMANTIC PROHIBITIONS
-- ============================================================================
/-- A lemma without semantic atoms is not allowed.
Every meaning-bearing object must decompose into atoms. -/
def NotAllowed_EmptyLemma (l : Lemma) : Prop :=
l.sig = []
/-- A decomposition that does not match its lemma's signature is not allowed. -/
def NotAllowed_UnfaithfulDecomposition (l : Lemma) (d : AtomicDecomposition) : Prop :=
¬FaithfulDecomposition l d
/-- UInt32 weights are always non-negative, so this check is vacuous. Kept for API compatibility. -/
def NotAllowed_NegativeWeightInNormalForm (_wa : WeightedAtom) : Prop :=
False
-- ============================================================================
-- 2. GRAPH PROHIBITIONS
-- ============================================================================
/-- A graph containing active quarantined edges (positive weight) is not allowed. -/
def NotAllowed_ActiveQuarantine (g : Graph) : Prop :=
¬g.noActiveQuarantine
/-- An observation node with no outgoing projection edge is not allowed. -/
def NotAllowed_OrphanObservation (g : Graph) (n : Node) : Prop :=
n.type = NodeType.observation ∧ ¬(∃ e ∈ g.edges, e.source = n ∧ e.type = EdgeType.projects_to)
/-- An edge that claims capability-bearing status without justification is not allowed. -/
def NotAllowed_UncertifiedCapabilityEdge (e : Edge) : Prop :=
e.edgeClass = EdgeClass.capabilityBearing ∧ e.justified = false
-- ============================================================================
-- 3. PATH PROHIBITIONS
-- ============================================================================
/-- A "magic semantic jump" — a path step that is not locally admissible — is not allowed. -/
def NotAllowed_MagicSemanticJump (step : AtomicStep) : Prop :=
step.rewrite.locallyAdmissible = false
/-- A non-lawful path is not allowed. -/
def NotAllowed_UnlawfulPath (p : AtomicPath) : Prop :=
¬p.isLawful
/-- Connecting two paths whose endpoints do not match is not allowed. -/
def NotAllowed_DisconnectedPathComposition (p1 p2 : AtomicPath) : Prop :=
¬(AtomicPath.canCompose p1 p2)
-- ============================================================================
-- 4. WITNESS / CONSTITUTION PROHIBITIONS
-- ============================================================================
/-- A witness without provenance is not allowed. -/
def NotAllowed_WitnessWithoutProvenance (w : Witness) : Prop :=
¬(w.receipt.provenance = WitnessProvenance.observation
w.receipt.provenance = WitnessProvenance.inference
w.receipt.provenance = WitnessProvenance.projection
w.receipt.provenance = WitnessProvenance.evolution
w.receipt.provenance = WitnessProvenance.translation
w.receipt.provenance = WitnessProvenance.composed)
/-- Negative accumulated load is not allowed. -/
def NotAllowed_NegativeLoad (w : Witness) : Prop :=
w.accumulatedLoad < 0.0
/-- A node that is not grounded in atoms is not allowed. -/
def NotAllowed_UngroundedNode (g : Groundedness) : Prop :=
g.atomicBasis = false
/-- A node whose universality class is invisible is not allowed. -/
def NotAllowed_InvisibleUniversality (g : Groundedness) : Prop :=
g.classMembershipVisible = false
-- ============================================================================
-- 5. UNIVERSALITY PROHIBITIONS
-- ============================================================================
/-- Losing universality-class identity under projection is not allowed. -/
def NotAllowed_UniversalityLossUnderProjection (cd : ClassifiedDynamics) : Prop :=
¬projectionPreservesUniversality cd
/-- Losing universality-class identity under scalar collapse is not allowed. -/
def NotAllowed_UniversalityLossUnderCollapse (cd : ClassifiedDynamics) : Prop :=
¬collapsePreservesUniversality cd
/-- Losing universality-class identity under evolution is not allowed. -/
def NotAllowed_UniversalityLossUnderEvolution (cd : ClassifiedDynamics) : Prop :=
¬evolutionPreservesUniversality cd
-- ============================================================================
-- 6. CANONICAL / SERIALIZATION PROHIBITIONS
-- ============================================================================
/-- Adversarial structure in canonical inputs is not allowed. -/
def NotAllowed_AdversarialCanonicalInput (fr : FilterResult) : Prop :=
fr.safe = false
/-- Emoji-based or weird-machine field names in canonical inputs are not allowed. -/
def NotAllowed_WeirdMachineInput (f : SourceField) : Prop :=
f.name.contains "🎉" f.name.contains "🔥" f.name.contains "💀"
/-- Nondeterministic serialization of the same canonical form is not allowed. -/
def NotAllowed_NondeterministicCanonicalForm (cbf : CanonicalBinaryForm) : Prop :=
¬IsCanonical cbf
/-- A canonical schema that is not core-admissible is not allowed in ENE core paths. -/
def NotAllowed_NonCoreCanonicalSchema (schema : RecordSchema) : Prop :=
schema.coreAdmissible = false
-- ============================================================================
-- 7. EVOLUTION PROHIBITIONS
-- ============================================================================
/-- Self-modification that erases its own audit trail is not allowed. -/
def NotAllowed_EpistemicSelfErasure
(mod : SelfModification)
(contract : EvolutionContract)
(surface : AuditSurface) : Prop :=
contract.preservesAuditSurface mod surface = false
/-- Evolution that is not replayable is not allowed. -/
def NotAllowed_UnreplayableEvolution
(mod : SelfModification)
(contract : EvolutionContract) : Prop :=
contract.replayable mod = false
/-- Evolution that violates the constitution is not allowed. -/
def NotAllowed_UnconstitutionalEvolution
(mod : SelfModification)
(contract : EvolutionContract)
(constitution : UniverseConstitution) : Prop :=
contract.preservesConstitution mod constitution = false
-- ============================================================================
-- 8. SCALAR COLLAPSE PROHIBITIONS
-- ============================================================================
/-- A scalar without atomic ancestry is not allowed. -/
def NotAllowed_ScalarWithoutAtomicAncestry (sc : ScalarCollapse) : Prop :=
¬sc.sourceDecomposition.nonempty
/-- A scalar missing a required certified invariant is not allowed. -/
def NotAllowed_UncertifiedScalarInvariant
(sc : ScalarCollapse)
(inv : ScalarInvariant) : Prop :=
inv ∈ sc.policy.requiredInvariants ∧ ¬(∃ f ∈ sc.fields, f.invariant.name = inv.name ∧ f.certified = true)
/-- A scalar collapse with negative source load is not allowed. -/
def NotAllowed_ScalarWithNegativeLoad (sc : ScalarCollapse) : Prop :=
sc.sourceLoad.total < 0.0
-- ============================================================================
-- 9. MASTER CONSTITUTIONAL PROHIBITIONS
-- ============================================================================
/-- A fully ungrounded object is not allowed. -/
def NotAllowed_FullyUngrounded
(c : GroundedUniverseConstitution)
(g : Groundedness)
(sc : Option ScalarCollapse) : Prop :=
¬FullyAdmissible c g sc
/-- A scalar collapse that violates its policy is not allowed. -/
def NotAllowed_PolicyViolatingCollapse (sc : ScalarCollapse) : Prop :=
¬ScalarAdmissible sc
-- ============================================================================
-- 10. PHYSICAL HALLUCINATION PROHIBITIONS (ZOMBIE BUGS)
-- ============================================================================
/--
Any signal claiming to use the 160.2 GHz Cosmic Microwave Background (CMB)
as a master phase-lock or coherent clock source is prohibited.
CMB isotropy is a thermodynamic equilibrium state, not a local phase reference.
-/
def NotAllowed_CosmicClocking (signal_source : String) : Prop :=
signal_source = "CMB_160_GHZ" signal_source = "COSMIC_PHASE_LOCK"
/--
Using Planck-scale units for macro-scale travel-time estimation without
a derived renormalization path is prohibited.
-/
def NotAllowed_UnrenormalizedPlanckTime (t : UInt32) : Prop :=
t < 1000 -- Too small to be physically grounded for seismic travel-times
-- ============================================================================
-- Theorems: Positive laws imply negative prohibitions
-- ============================================================================
/-- If a graph satisfies noActiveQuarantine, then active quarantine is prohibited. -/
theorem no_quarantine_implies_prohibition
(g : Graph)
(h : g.noActiveQuarantine) :
¬NotAllowed_ActiveQuarantine g := by
unfold NotAllowed_ActiveQuarantine
exact not_not_intro h
/-- If a decomposition is faithful, then unfaithful decomposition is prohibited. -/
theorem faithfulness_implies_prohibition
(l : Lemma)
(d : AtomicDecomposition)
(h : FaithfulDecomposition l d) :
¬NotAllowed_UnfaithfulDecomposition l d := by
unfold NotAllowed_UnfaithfulDecomposition
exact not_not_intro h
/-- If a path is lawful, then unlawful paths are prohibited. -/
theorem lawfulness_implies_prohibition
(p : AtomicPath)
(h : p.isLawful) :
¬NotAllowed_UnlawfulPath p := by
unfold NotAllowed_UnlawfulPath
exact not_not_intro h
/-- If a witness has valid provenance, then missing provenance is prohibited. -/
theorem provenance_implies_prohibition
(w : Witness)
(h : w.receipt.provenance = WitnessProvenance.observation
w.receipt.provenance = WitnessProvenance.inference
w.receipt.provenance = WitnessProvenance.projection
w.receipt.provenance = WitnessProvenance.evolution
w.receipt.provenance = WitnessProvenance.translation
w.receipt.provenance = WitnessProvenance.composed) :
¬NotAllowed_WitnessWithoutProvenance w := by
unfold NotAllowed_WitnessWithoutProvenance
exact not_not_intro h
/-- If universality is preserved under projection, then its loss is prohibited. -/
theorem universality_projection_implies_prohibition
(cd : ClassifiedDynamics)
(h : projectionPreservesUniversality cd) :
¬NotAllowed_UniversalityLossUnderProjection cd := by
unfold NotAllowed_UniversalityLossUnderProjection
exact not_not_intro h
/-- If a canonical form is canonical, then nondeterminism is prohibited. -/
theorem determinism_implies_prohibition
(cbf : CanonicalBinaryForm)
(h : IsCanonical cbf) :
¬NotAllowed_NondeterministicCanonicalForm cbf := by
unfold NotAllowed_NondeterministicCanonicalForm
exact not_not_intro h
/-- If a schema is core-admissible, then the non-core-schema prohibition does not apply. -/
theorem core_schema_implies_prohibition
(schema : RecordSchema)
(h : schema.coreAdmissible = true) :
¬NotAllowed_NonCoreCanonicalSchema schema := by
unfold NotAllowed_NonCoreCanonicalSchema
intro hcontra
rw [h] at hcontra
simp at hcontra
/-- If an evolution is admissible, then epistemic self-erasure is prohibited. -/
theorem evolution_audit_implies_prohibition
(mod : SelfModification)
(contract : EvolutionContract)
(surface : AuditSurface)
(constitution : UniverseConstitution)
(h : EvolutionAdmissible mod contract surface constitution) :
¬NotAllowed_EpistemicSelfErasure mod contract surface := by
unfold NotAllowed_EpistemicSelfErasure
have ha := no_evolution_without_auditability mod contract surface constitution h
intro hcontra
rw [ha] at hcontra
simp at hcontra
/-- If a scalar collapse is admissible, then missing atomic ancestry is prohibited. -/
theorem scalar_admissible_implies_ancestry_prohibition
(sc : ScalarCollapse)
(h : ScalarAdmissible sc) :
¬NotAllowed_ScalarWithoutAtomicAncestry sc := by
unfold NotAllowed_ScalarWithoutAtomicAncestry
have ha := no_scalar_without_atomic_ancestry sc h
intro hcontra
exact hcontra ha
/-- If an object is fully admissible under the constitution, then being fully ungrounded is prohibited. -/
theorem full_admissibility_implies_prohibition
(c : GroundedUniverseConstitution)
(g : Groundedness)
(sc : Option ScalarCollapse)
(h : FullyAdmissible c g sc) :
¬NotAllowed_FullyUngrounded c g sc := by
unfold NotAllowed_FullyUngrounded
exact not_not_intro h
end Semantics.ENE