Repository navigation
nf.classical.nf2
Jeremy H. Carroll edited this page Oct 30, 2026
·
1 revision
Contract ID:
nf.classical.nf2| Family:shape| Index Status:draft| AuthorityEffect:None
⬅ Back to Wiki Home | View SVG Diagram
Non-First Normal Form Nested Relation Form (NF2) enforces structural normalization and explicit defect routing in the shape regime.
| Property | Value |
|---|---|
| Canonical ID | nf.classical.nf2 |
| Short Name | NF2 |
| Full Name | Non-First Normal Form Nested Relation Form |
| Family |
shape (Relational, Algebraic & Cochain Shape Normal Forms (Data at Rest & Structural Decompositions)) |
| Qualification | Extended Form Contract (Normal Form Contract) |
| Data / Math Posture | at_rest |
| Index Status | draft |
| Theory Status | proposed |
| Verification Status | absent |
| Contract Version | v0 |
| Governance Fence |
AuthorityEffect: None (certified_implies_authorized: false) |
- Author: Schek and Scholl
- Year: 1986
- Structural Invariant: Nest and unnest invert one another on partitioned normal form.
- Anomaly Excluded: Hierarchies that cannot be recovered after flattening.
- Lossless Join Property: Invertible Nest/Unnest.
- Dependency Preservation: Preserved under partitioned NF.
- Qualifies As True Normal Form: False
- Qualification Gap: Orthogonal to the flat relational decomposition chain.
| Stage | Carrier / Operator | Concrete State / Invariant |
|---|---|---|
| 1. Before / Candidate Input | Input Carrier (NF2 Candidate) |
Anomaly risk: a hierarchical ; grouping that cannot be recovered ; after flattening, or a repeatin... |
| 2. Normalization / Gate | NF2 Verification Gate |
relation-valued attribute... (certified_implies_authorized: false) |
| 3. After / Certified Output | Certified NF2 Output |
Invariant: ['heading', 'domains', ; 'nested_groups', ; 'extended_functional_dependenci... |
- ref: coda_all_universe/1_the_tower/normal_forms/contracts/_book_09_full_normal_form_atlas.md
section: 2.1 Classical Relational Normal FormsEvery contract in simplex-normal-forms is evaluated against the Four-Pillar Quadrilateral defined in contracts/_golden_nfs/standard.yaml:
| Pillar | Requirement | Contract Specification for nf.classical.nf2
|
|---|---|---|
| Pillar I: Excludes Anomaly | Name and eliminate a specific class of data or state defects. | a hierarchical grouping that cannot be recovered after flattening, or a repeating group hidden in an undeclared scalar |
| Pillar II: Preserves Invariant | State the structural invariant and protected skeleton preserved across transitions. |
Invariant: relation-valued attributes are typed, each nesting level has its declared key, and nest and unnest invert one another on partitioned normal form Protected Skeleton: ['heading', 'domains', 'nested_groups', 'extended_functional_dependencies', 'basic_dependencies'] |
| Pillar III: Lossless Reconstruction | State the non-loss reconstruction operator (join, direct sum, pullback, or replay). | Lossless reconstruction under declared projection, direct sum, or pullback operators. |
| Pillar IV: Syntactic Decidability | State how conformance is decided from declared constraints without unbudgeted scans. | Decidable from declared schema and witness metadata within bounded evaluation budgets. |
- NF2 denotes non-first-normal-form nested relation algebra, not 2NF
- does not claim nested relation bodies are classical flat 1NF relations
- does not replace flat normalization when 1NF relational decomposition is required
- does not certify runtime repair without cochain substrate
- does not imply authorization
- this form is orthogonal to the chain from first normal form through sixth. It admits relation-valued attributes, which first normal form excludes
- heading
- domains
- primary_key
- nested_groups
- group_keys
- extended_functional_dependencies
- basic_dependencies
- relation_predicate
None declared.
| Criterion ID | Name | Condition |
|---|---|---|
criterion |
Check | nested or repeating groups are declared as part of the relation type, not hidden in unparsed scalar attributes |
criterion |
Check | primary key determines the single-valued attributes and declared first-level repeating groups |
criterion |
Check | each repeating group declares its key relative to the enclosing relation key |
criterion |
Check | extended functional dependencies are derivable from declared basic dependencies |
criterion |
Check | single-valued attributes of the nested relation satisfy declared classical 3NF baselines |
Every evaluation terminates in a declared local route mapped to a canonical terminal in standard.yaml:
| Local Terminal Route | Canonical Terminal |
|---|---|
AcceptNestedCarrier |
Preserve |
RejectUndeclaredRepeatingGroup |
Reject |
RejectUnkeyedNestedGroup |
Reject |
RequireUnnesting |
Decompose |
RequireBasicDependencyDeclaration |
Refuse |
- symptom: invoice lines are stored as an untyped blob while the schema claims a single-valued attribute, diagnosis: undeclared repeating group violating NF2 structural declaration, terminal: RejectUndeclaredRepeatingGroup
- symptom: salary history is nested but date or equivalent group key is not declared, diagnosis: unkeyed nested group violating nested relation key integrity, terminal: RejectUnkeyedNestedGroup
In accordance with the repository's epistemic claim discipline:
-
What it supports:
- Supports syntactic and operational checking of
nf.classical.nf2(NF2) against its declared schema, boundary constraints, and witness obligations in this model. - Supports deterministic terminal routing (
AcceptNestedCarrier, RejectUndeclaredRepeatingGroup, RejectUnkeyedNestedGroup, RequireUnnesting) when required declarations or invariants fail.
- Supports syntactic and operational checking of
-
What it does not support:
- Does not confer operational authority (
AuthorityEffect: None,certified_implies_authorized: false). - Does not claim semantic truth of undeclared external processes or unverified upstream inputs beyond the declaredprotected skeleton.
- Does not confer operational authority (
-
The narrowest defensible claim:
- Within the declared substrate
at_rest, this contract enforces thata hierarchical grouping that cannot be recovered after flattening, or a repeating group hidden in an undeclared scalaris either excluded underrelation-valued attributes are typed, each nesting level has its declared key, and nest and unnest invert one another on partitioned normal formor routed to an explicit refusal/recovery terminal.
- Within the declared substrate
-
The next test needed:
- Property-based falsification and mutation testing across boundary edge cases and composed multi-step pipelines for
nf.classical.nf2.
- Property-based falsification and mutation testing across boundary edge cases and composed multi-step pipelines for
Click to expand full canonical YAML contract (contracts/nf.classical.nf2.yaml)
schema_version: smplx.nf.contract.v0
schema_ref: ./normal_form_contract_schema.yaml
contract_kind: normal_form_contract
identity:
id: nf.classical.nf2
name: Non-First Normal Form Nested Relation Form
short_name: NF2
version: v0
theory_status: proposed
contract_status: draft
verification_status: absent
family: shape
status: draft
classification:
hierarchy_level: normal_form
subject_kind:
- relvar
data_posture: at_rest
mathematical_posture: operational
purpose:
excludes_anomaly: a hierarchical grouping that cannot be recovered after flattening,
or a repeating group hidden in an undeclared scalar
preserves_invariant: relation-valued attributes are typed, each nesting level has
its declared key, and nest and unnest invert one another on partitioned normal
form
protected_skeleton:
- heading
- domains
- nested_groups
- extended_functional_dependencies
- basic_dependencies
erased_structure: []
non_claims:
- NF2 denotes non-first-normal-form nested relation algebra, not 2NF
- does not claim nested relation bodies are classical flat 1NF relations
- does not replace flat normalization when 1NF relational decomposition is required
- does not certify runtime repair without cochain substrate
- does not imply authorization
- this form is orthogonal to the chain from first normal form through sixth. It
admits relation-valued attributes, which first normal form excludes
definition:
source: coda_all_universe/mssn_sn_tower/definitions.md
citation:
authors: Hans-Jörg Schek and Marc H. Scholl
year: 1986
work: The relational model with relation-valued attributes
formal_statement: 'A nested relation carries relation-valued attributes under an
explicit algebra of nest and unnest. It is in partitioned normal form when, at
each level, the atomic attributes are a key for the relation-valued attributes
at that level. On that class, nest and unnest are inverses: unnesting then nesting
returns the nested value, and nesting then unnesting returns the flat value. Outside
that class, unnest is still defined, and nesting the unnested value need not return
the original nested value.
'
quadrilateral:
qualifies_as_true_normal_form: false
qualification_gap: orthogonal_to_the_flat_chain
anomaly_exclusion: 'Loss of a declared hierarchy under flattening, and a repeating
group stored in a scalar that the schema did not declare as relation-valued.
The source table''s remark about flattening cost is a performance remark, not
the anomaly class.
'
lossless_join:
status: nest_unnest_on_partitioned_normal_form
statement: 'Reconstruction is nest and unnest, not a flat project-join. Invertibility
is the partitioned-normal-form theorem. It is not claimed for arbitrary nested
values.
'
dependency_preservation:
status: extended_dependencies_declared_at_each_level
statement: 'Extended dependencies are checked at the nesting level where they
are declared. Flattening into first normal form is a different design choice
and is not performed silently by this form.
'
syntactic_decision:
status: schema_decidable
statement: 'Decided from the nested heading, the level keys, and the declared
basic dependencies. One stored document is not the decider.
'
chain:
orthogonal_to:
- 1NF
- 2NF
- 3NF
- EKNF
- BCNF
- 4NF
- ETNF
- 5NF
- 6NF
declarations_required:
- heading
- domains
- primary_key
- nested_groups
- group_keys
- extended_functional_dependencies
- basic_dependencies
- relation_predicate
evidence_required: []
validation_criteria:
- nested or repeating groups are declared as part of the relation type, not hidden
in unparsed scalar attributes
- primary key determines the single-valued attributes and declared first-level repeating
groups
- each repeating group declares its key relative to the enclosing relation key
- extended functional dependencies are derivable from declared basic dependencies
- single-valued attributes of the nested relation satisfy declared classical 3NF baselines
proof_obligations:
- id: nf2.nest_unnest_algebraic_isomorphism
status: theorem_shaped
ref: https://www.comp.nus.edu.sg/~lingtw/cs4221/nested.relation.pdf
statement: 'On partitioned normal form, nest and unnest are inverse. Outside that
class, unnest need not be inverted by nest.
'
terminal_routes:
- AcceptNestedCarrier
- RejectUndeclaredRepeatingGroup
- RejectUnkeyedNestedGroup
- RequireUnnesting
- RequireBasicDependencyDeclaration
terminal_route_map:
AcceptNestedCarrier: Preserve
RejectUndeclaredRepeatingGroup: Reject
RejectUnkeyedNestedGroup: Reject
RequireUnnesting: Decompose
RequireBasicDependencyDeclaration: Refuse
certification:
certificate_required: false
certificate_kind: null
obstruction_class_required: false
loss_ledger_required: false
verifier_required: false
loss_ledger_trigger_id: null
authorization:
authorized_by: null
certified_implies_authorized: false
failure_modes:
- symptom: invoice lines are stored as an untyped blob while the schema claims a single-valued
attribute
diagnosis: undeclared repeating group violating NF2 structural declaration
terminal: RejectUndeclaredRepeatingGroup
- symptom: salary history is nested but date or equivalent group key is not declared
diagnosis: unkeyed nested group violating nested relation key integrity
terminal: RejectUnkeyedNestedGroup
examples:
- ref: coda_all_universe/1_the_tower/normal_forms/contracts/_book_09_full_normal_form_atlas.md
section: 2.1 Classical Relational Normal Forms
references:
- coda_all_universe/1_the_tower/normal_forms/contracts/_book_09_full_normal_form_atlas.md
- coda_all_universe/1_the_tower/normal_forms/contracts/_paper_0_relvar_relation_table_and_boundary_relvar.md
- ./normal_form_contract_schema.yaml
- https://www.comp.nus.edu.sg/~lingtw/cs4221/nested.relation.pdfSimplex Normal Forms • 112 Canonical Contracts & SVG Diagrams • CODA_MUR Transport • certified_implies_authorized: false • AuthorityEffect: None
- Home (Master Index)
- Project Status & Evidence
- Theory & Cochain Substrate
- Observer-Relative Ontology
- Concrete Worked Examples
- Geometrodynamics & Physics
shape (17)
- 0NF (
nf.classical.0nf) - 1NF (
nf.classical.1nf) - 2NF (
nf.classical.2nf) - 3NF (
nf.classical.3nf) - 4NF (
nf.classical.4nf) - 5NF (
nf.classical.5nf) - 6NF (
nf.classical.6nf) - BCNF (
nf.classical.bcnf) - DKNF (
nf.classical.dknf) - EKNF (
nf.classical.eknf) - ETNF (
nf.classical.etnf) - NF2 (
nf.classical.nf2) - RFNF (
nf.classical.rfnf) - SKNF (
nf.classical.sknf) - DHNF (
nf.cochain.dhnf) - HCNF (
nf.ddc.hodge_canonical) - MSSNF (
nf.mssn)
change (6)
representation (5)
compilation (1)
epistemic (15)
- EQNF (
nf.coda.eqnf) - ANF (
nf.epistemic.authority) - CNF (
nf.epistemic.cnf) - EFNF (
nf.epistemic.efnf) - ENF (
nf.epistemic.enf) - FNF (
nf.epistemic.freshness) - LNF (
nf.epistemic.location) - NAR-NF (
nf.epistemic.nar_nf) - ObsNF (
nf.epistemic.observer) - ODNF (
nf.epistemic.odnf) - ONF (
nf.epistemic.onf) - PvNF (
nf.epistemic.pvnf) - RNF (
nf.epistemic.replica) - SnNF (
nf.epistemic.snnf) - StNF (
nf.epistemic.state)
authority (1)
evidence (8)
derivation (12)
- AONF (
nf.derivation.aonf) - APNF (
nf.derivation.apnf) - IGNF (
nf.derivation.ignf) - IRNF (
nf.derivation.irnf) - LSNF (
nf.derivation.lsnf) - OBNF (
nf.derivation.obnf) - PDNF (
nf.derivation.pdnf) - RPNF (
nf.derivation.rpnf) - SCNF (
nf.derivation.scnf) - SERNF (
nf.derivation.sernf) - AINF (
nf.ontology.ainf) - WDNF (
nf.wdp.wdnf)
topology (2)
physics (20)
- RBNF (
nf.physics.bianchi_regge) - BQNF-REGGE (
nf.physics.bqnf_regge) - CDT-FSIGN-NF (
nf.physics.cdt_fermion_sign) - CDT-KD-DOUBLING-NF (
nf.physics.cdt_kd_doubling) - CDT-MATTER-NF (
nf.physics.cdt_matter_coupling) - CDT-OVERLAP-NF (
nf.physics.cdt_overlap_fermions) - CDT-SPEC-NF (
nf.physics.cdt_spectral_dimension) - CDT-SUSY-WITTEN-NF (
nf.physics.cdt_susy_witten) - CDT-TOPO-CHARGE-NF (
nf.physics.cdt_topological_charge) - CDT-WMC-NF (
nf.physics.cdt_wick_mc) - CDT-ZOLOTAREV-NF (
nf.physics.cdt_zolotarev_overlap) - DFNF (
nf.physics.dfnf) - L1CCNF (
nf.physics.l1_constraint_closure) - LCNF (
nf.physics.lorentzian_cdt) - L1PSNF (
nf.physics.pachner_lp_scaling) - PWNF (
nf.physics.pwnf) - RCNF (
nf.physics.rcnf) - RPCNF (
nf.physics.rpcnf) - SIDNF (
nf.physics.schlafli_nf) - WDWNF (
nf.physics.wdwnf)