{
  "artifactId": "artifact.library.mathlib.rank-nullity-theorem.v001",
  "candidateOnly": false,
  "category": "Linear algebra",
  "claimBoundary": "This target indexes Mathlib's cardinal-rank identity for a linear map under its HasRankNullity hypothesis: the ranks of the range and kernel add to the rank of the domain. It is not merely the finite-dimensional natural-number formula and does not claim a new proof.",
  "collectionSlug": "landmark-theorems-in-mathlib",
  "exactFormalStatement": "theorem LinearMap.rank_range_add_rank_ker {R M M₁ : Type*} [Ring R] [AddCommGroup M] [AddCommGroup M₁] [Module R M] [Module R M₁] [HasRankNullity R] (f : M →ₗ[R] M₁) : Module.rank R f.range + Module.rank R f.ker = Module.rank R M",
  "family": "Linear maps and dimension",
  "id": "library.mathlib.rank-nullity-theorem.v001",
  "links": {
    "collection": "/collections/landmark-theorems-in-mathlib/",
    "collectionData": "/data/collections/mathlib-landmarks.json",
    "entry": "/library-theorems/rank-nullity-theorem/",
    "entryData": "/data/library-theorems/rank-nullity-theorem.json",
    "evidence": "/proofs/artifact.library.mathlib.rank-nullity-theorem.v001.html",
    "evidenceData": "/data/proofs/artifact.library.mathlib.rank-nullity-theorem.v001.evidence.json",
    "source": "/sources/upstream/rank-nullity-theorem/"
  },
  "landmark": {
    "completeFormalType": "theorem LinearMap.rank_range_add_rank_ker {R M M₁ : Type*} [Ring R] [AddCommGroup M] [AddCommGroup M₁] [Module R M] [Module R M₁] [HasRankNullity R] (f : M →ₗ[R] M₁) : Module.rank R f.range + Module.rank R f.ker = Module.rank R M",
    "concepts": [
      "linear map",
      "kernel",
      "range",
      "quotient module",
      "cardinal rank"
    ],
    "plainLanguage": "A linear map collapses the directions in its kernel and carries the surviving quotient directions into its range. Those two cardinal-rank contributions recover the rank of the original domain.",
    "poster": {
      "alt": "An ivory linear-algebra poster shows a green domain lattice, cobalt kernel, emerald quotient-to-range equivalence, the cardinal-rank identity, and exact HasRankNullity scope.",
      "byteSize": 2454014,
      "caption": "The range and kernel ranks account for the cardinal rank of the domain.",
      "description": "The poster separates collapsed kernel directions from the surviving quotient, connects that quotient to the range, and states the exact cardinal-rank theorem without replacing it by a finite matrix example.",
      "derivatives": [
        {
          "byteSize": 117110,
          "height": 960,
          "mediaType": "image/webp",
          "publicPath": "/assets/library-theorems/rank-nullity-theorem/theorem-poster-v1-640.webp",
          "sha256": "sha256:5d6c32d2246a524ebb275582edf2a959652e38547c6d5474b0e3788803713e6c",
          "width": 640
        },
        {
          "byteSize": 229884,
          "height": 1536,
          "mediaType": "image/webp",
          "publicPath": "/assets/library-theorems/rank-nullity-theorem/theorem-poster-v1-1024.webp",
          "sha256": "sha256:fd77b36fcb3dc9490ffb86f0eedbda83cd2b4d4eee1b739e515643a37f800c28",
          "width": 1024
        }
      ],
      "generatedAt": "2026-07-22T01:26:27Z",
      "height": 1536,
      "mediaType": "image/png",
      "modelRequested": "gpt-image-2",
      "publicPath": "/assets/library-theorems/rank-nullity-theorem/theorem-poster-v1.png",
      "sha256": "sha256:119aca9a3472303946996cf9c39029a147735bf8da78e622c1843fabb7b810b2",
      "title": "Rank–Nullity Theorem at a glance",
      "width": 1024,
      "kind": "theorem_poster",
      "transcript": "LINEAR ALGEBRA · CARDINAL RANK\nRANK–NULLITY THEOREM\nA linear map separates collapsed and surviving directions\nrank(range f) + rank(ker f) = rank(domain f)\nQUOTIENT BY THE KERNEL RECOVERS THE RANGE\nHOW THE CHECKED ROUTE MOVES\n1 · Identify domain / kernel with the range\n2 · Apply the quotient rank identity\nEXACT SCOPE\nCardinal rank under HasRankNullity. The range need not be the codomain."
    },
    "visual": {
      "alt": "A broad green domain lattice is covered by parallel coset fibers, with one cobalt kernel direction; every full fiber collapses to an emerald quotient point and the quotient reorganizes into the range under one gold balance brace.",
      "byteSize": 2708633,
      "caption": "Kernel directions collapse while the quotient by the kernel recovers the range, and their cardinal ranks recover the domain rank.",
      "description": "Parallel kernel-direction fibers foliate the entire domain rather than splitting it into complementary regions. Collapsing each full coset produces the quotient; a central gold equivalence carries those classes to the range, while the encompassing brace relates the kernel and range contributions back to the domain without assuming finite dimension.",
      "derivatives": [
        {
          "byteSize": 43072,
          "height": 427,
          "mediaType": "image/webp",
          "publicPath": "/assets/library-theorems/rank-nullity-theorem/theorem-schematic-v1-640.webp",
          "sha256": "sha256:628676a5d88b27763c0c7d95a9e27e9e8ea78567bec9acb7447caa1e1c25817b",
          "width": 640
        },
        {
          "byteSize": 137792,
          "height": 800,
          "mediaType": "image/webp",
          "publicPath": "/assets/library-theorems/rank-nullity-theorem/theorem-schematic-v1-1200.webp",
          "sha256": "sha256:4ed458ae7b801ce724b5326d7e72ac46352f6d963568175b72eef2e03d3dec71",
          "width": 1200
        }
      ],
      "generatedAt": "2026-07-22T01:26:27Z",
      "height": 1024,
      "mediaType": "image/png",
      "modelRequested": "gpt-image-2",
      "publicPath": "/assets/library-theorems/rank-nullity-theorem/theorem-schematic-v1.png",
      "sha256": "sha256:cddcbf84250a569955be9b30308ee52ba984262bace4eb1ab978eb9b0d977287",
      "title": "Rank–Nullity Theorem schematic",
      "width": 1536
    },
    "walkthrough": null,
    "whyLandmark": "Rank–nullity is the structural accounting principle behind linear equations, kernels, images, quotient spaces, and dimension arguments. Mathlib's selected declaration records the stronger cardinal-rank form rather than only the familiar finite-dimensional formula."
  },
  "nonClaims": [
    "Proof Atlas did not originate the Rank–Nullity Theorem or Mathlib's declaration.",
    "The range is not asserted to equal the codomain, and the map need not be injective or surjective.",
    "The generated explanation and visuals are not proof evidence."
  ],
  "publicExportEligible": true,
  "relationship": "upstream_direct",
  "schemaVersion": "library-theorem-entry-data.v1",
  "statementId": "statement.library.mathlib.rank-nullity-theorem.v001",
  "statusAxes": {
    "acceptedAtlasResult": "Not recorded for the preferred artifact",
    "locallyReproduced": "Exact upstream declaration replayed",
    "reviewedPage": "2 of 3 presentation reviews recorded",
    "upstreamIndexed": "Pinned source bytes verified locally"
  },
  "summary": "For a linear map under Mathlib's rank-nullity hypothesis, the cardinal ranks of the range and kernel add to the rank of the domain.",
  "targetId": "target.library.mathlib.rank-nullity-theorem.v001",
  "title": "Rank–Nullity Theorem",
  "upstreamOrigin": {
    "declarationName": "LinearMap.rank_range_add_rank_ker",
    "immutableSourceUrl": "https://github.com/leanprover-community/mathlib4/blob/5e932f97dd25535344f80f9dd8da3aab83df0fe6/Mathlib/LinearAlgebra/Dimension/RankNullity.lean#L84",
    "packageName": "mathlib",
    "repositoryUrl": "https://github.com/leanprover-community/mathlib4",
    "sourceArtifactHash": "sha256:822be71d529e77de6aa0f518ca5290badc25989e65dddc9cdf8693ef8dd60ba3",
    "sourceByteLength": 12547,
    "sourceCommit": "5e932f97dd25535344f80f9dd8da3aab83df0fe6",
    "sourceFile": "Mathlib/LinearAlgebra/Dimension/RankNullity.lean",
    "sourceLine": 84,
    "verificationKind": "git_worktree"
  },
  "publicPresentationReview": {
    "status": "reviewed"
  }
}
