{
  "$schema": "../../../schemas/mko-v0.4.schema.json",
  "schema_version": "mko-v0.4",
  "id": "mko-nondeterministic-finite-automaton",
  "semantic_family_id": "sf-nondeterministic-finite-automaton",
  "type": "definition",
  "version": "0.10.0",
  "language": "zh-Hant",
  "titles": {
    "zh-Hant": "非確定有限自動機"
  },
  "summary": {
    "zh-Hant": "epsilon-NFA以狀態、input symbol或epsilon對應可能後繼集合，存在一條full-input final path即接受。"
  },
  "statement": {
    "zh-Hant": "transition序列固定[from_state,input_symbol_or_null,to_state]；null是epsilon且不消耗input。states因含start而nonempty；alphabet與final-state set都允許empty。relation可empty或multi-valued，不要求deterministic/total。empty word可經finite epsilon path接受；empty final set合法並辨識empty language。一條finite accepting path證membership；bounded search failure不證rejection。epsilon cycle本身不接受，也不要求all branches接受。"
  },
  "formula": {
    "tex": "N(Q,S)",
    "mathml": "<math xmlns=\"http://www.w3.org/1998/Math/MathML\"><mrow><mi>N</mi><mo>(</mo><mi>Q</mi><mo>,</mo><mi>S</mi><mo>)</mo></mrow></math>",
    "semantic_ast": {
      "type": "function_call",
      "callee": {
        "type": "symbol",
        "name": "N",
        "glyph": "N"
      },
      "arguments": [
        {
          "type": "symbol",
          "name": "Q",
          "glyph": "Q"
        },
        {
          "type": "symbol",
          "name": "S",
          "glyph": "S"
        }
      ]
    },
    "compiler": {
      "id": "ocme-formula-core",
      "version": "0.4.0",
      "source_sha256": "0215be9990d1819091255c7aa1c02c43ab5500cab5cfdea135b8ddfef77baa56"
    }
  },
  "assumptions": [
    {
      "id": "a1",
      "zh-Hant": "states nonempty；states與alphabet finite、unique且disjoint；alphabet及final states可empty。"
    },
    {
      "id": "a2",
      "zh-Hant": "path configuration=[state,input_position]，接受需完整消耗input並位於final state。"
    }
  ],
  "symbols": [
    {
      "token": "N",
      "role": "epsilon_NFA",
      "role_zh": "epsilon-NFA",
      "scope": "representative_formula"
    },
    {
      "token": "Q",
      "role": "finite_state_set",
      "role_zh": "有限狀態集",
      "scope": "representative_formula"
    },
    {
      "token": "S",
      "role": "input_alphabet",
      "role_zh": "input alphabet",
      "scope": "representative_formula"
    }
  ],
  "dependencies": [
    {
      "id": "mko-finite-automaton",
      "title_zh": "有限自動機",
      "reason_zh": "finite control。"
    },
    {
      "id": "mko-relation",
      "title_zh": "關係",
      "reason_zh": "multi-valued transition relation。"
    },
    {
      "id": "mko-subset",
      "title_zh": "子集合",
      "reason_zh": "successor state subsets。"
    }
  ],
  "explanation": {
    "paragraphs_zh": [
      "epsilon closure不消耗input。",
      "acceptance是existential finite path。",
      "bounded failure與dead branches不否定其他path；epsilon cycle若不到final仍不接受。"
    ],
    "common_misconception_zh": "要求all branches accept、讓epsilon consume input，或把epsilon cycle當acceptance。"
  },
  "proofs": [],
  "computational_companions": [],
  "verification": {
    "computational_status": "not_evaluated_no_computational_claim",
    "warning_zh": "本輪不宣稱DFA equivalence或subset construction theorem。",
    "evidence_refs": [],
    "producers": [
      {
        "id": "lean-mathlib",
        "adapter": "formal_system",
        "config_path": "formal/lean/lakefile.toml",
        "status": "configured"
      }
    ]
  },
  "formalization": {
    "status": "not_formalized",
    "target_systems": [
      "Lean 4",
      "Mathlib"
    ],
    "next_obligation_zh": "加入NFA-to-DFA subset construction。"
  },
  "provenance": {
    "origin": "ocme_local_ai_materialization_candidate",
    "note_zh": "依 research/atlas-nondeterministic-finite-automaton.md 整理；2026-10-14 脈衝 R07（使用者手動接續 2026-11-11 工作序列；實際日期仍為 2026-10-14），英文及 Lean 依使用者指示延後。",
    "content_license": "CC-BY-SA-4.0",
    "code_license": "MIT",
    "created_at": "2026-10-14"
  }
}
