karpal-schubert-types
Schubert intersection type system for the Industrial Algebra ecosystem.
karpal-schubert-types begins Phase 14 of the Karpal roadmap with:
SchubertType— Schubert classes in Grassmannians as type-level markersIntersection— intersection computation via Littlewood-Richardson coefficientsIntersectionKind— StructuralZero / GeometricZero / Positive / UnderdeterminedSchubertTypedtrait — associate a Schubert class with a Rust typeSchubertProven<M, T>— proof-carrying type assertions (Schubert analogue ofkarpal_proof::Proven)compose_checks()— chained type-check composition via the LR ruleschubert_bundle()+verify_schubert()— external verification integration withkarpal-verify
Example
use ;
// σ₁ in Gr(2,4) — the class of lines meeting a fixed 2-plane
let sigma_1 = new.expect;
let sigma_2 = new.expect;
// Intersection of two σ₁ classes in Gr(2,4) is positive-dimensional
let result = check_intersection;
assert_eq!;
// σ₂₂ · σ₂₂ is a structural zero (codim 8 > dim 4)
let sigma_22 = new.expect;
let zero = check_intersection;
assert_eq!;
// Proof-carrying values via SchubertTyped
;
let proven = new;
assert!;
// Chained composition
let chain = ;
assert!;
// Verification certificates
let certs = verify_schubert;
assert_eq!;
License
AGPL-3.0-or-later