Pith. sign in

Explain the Lean inductive `SemanticChangeType` in module `IndisputableMonolith.Linguistics.SemanticChangeFromJCost`. Write for an educated reader who knows science and programming but may not know Lean. Cover: (1) what the declaration says in plain English, (2) why it matters in Recognition Science, (3) how to read the formal statement, (4) visible dependencies or certificates in the supplied source, and (5) what this declaration does not prove. Cite only declarations present in the supplied Recognition source.

Big AI job. Grok 4.3 reads the canon and writes a Lean-grounded derivation; usually 20 seconds to 2 minutes. Your answer will appear below.
confidence: high in recognition cached

Explanation of the SemanticChangeType inductive in module IndisputableMonolith.Linguistics.SemanticChangeFromJCost

(1) In plain English, the declaration introduces an enumerated type whose five possible values are the canonical categories of semantic change in historical linguistics: broadening (a word's meaning expands), narrowing (meaning contracts), amelioration (connotation becomes more positive), pejoration (connotation becomes more negative), and metaphorical extension (literal sense extends to figurative use).

(2) In Recognition Science this matters because the module frames semantic drift as the evolution of the recognition ratio r = (current meaning)/(original meaning) that drives the J-cost J(r). The five types are identified with configuration dimension D = 5, and the structure supports a certificate that incorporates the canonical J(φ) threshold for when a word is considered semantically "lost" (meaning shifted beyond recognition).

(3) To read the formal statement: the inductive keyword defines a new type by listing nullary constructors after each |. The deriving clause requests automatic generation of DecidableEq, Repr, BEq, and Fintype instances. The theorem semanticChangeCount then asserts that Fintype.card SemanticChangeType = 5, proved by Lean's decide tactic. The structure SemanticChangeCert packages this cardinality together with a threshold : CanonicalCert field.

(4) Visible dependencies and certificates: the module imports IndisputableMonolith.Common.CanonicalJBand and opens it; semanticChangeCount is proved by decide; SemanticChangeCert bundles the count with the threshold; the noncomputable definition semanticChangeCert supplies a concrete instance using semanticChangeCount and cert from the opened import. The module docstring states "Lean status: 0 sorry, 0 axiom."

(5) This declaration does not prove any quantitative predictions for semantic-drift rates, the explicit value of the J(φ) threshold, or empirical falsifiers against linguistic corpora. It only establishes the type, its cardinality, and a basic certificate structure; deeper links to the J-cost functional equation remain at the level of the module docstring.

cited recognition theorems

outside recognition

Aspects Recognition does not yet address:

  • Definition or proof of CanonicalCert and the identifier `cert` (imported from Common.CanonicalJBand)
  • Any theorems that compute explicit J-cost values or semantic-drift rates from SemanticChangeType

recognition modules consulted

The Recognition library is at github.com/jonwashburn/shape-of-logic. The model is restricted to the supplied Lean source and instructed not to invent theorem names. Treat output as a starting point, not a verified proof.