{
  "schema_version": "qft.hadamard-wavefront-pairing.v1",
  "artifact_id": "qft.artifact.curved-spacetime.states-hadamard-microlocal-control.hadamard-wavefront-pairing",
  "title": "Hadamard wavefront pairing and its reversed-orientation control",
  "generated_by": "figures-src/curved-spacetime/hadamard-wavefront-pairing.mjs",
  "source_revision": 1,
  "generated_on": "2026-09-04",
  "owner_page": {
    "id": "qft.topic.curved-states.microlocal-spectrum-condition",
    "file": "src/content/docs/curved-spacetime/states-hadamard-microlocal-control/hadamard-admissibility-two-point-wavefront-criterion.md",
    "route": "/curved-spacetime/states-hadamard-microlocal-control/hadamard-admissibility-two-point-wavefront-criterion/",
    "sha256": "3e15bb827b6231df895ffdb9d969576d1a0c9cfa377e56235ba4238738ba7e0b"
  },
  "reader_question": "How are the two cotangent directions in one allowed Hadamard two-point wavefront element related, and what changes when the first-slot time orientation is reversed?",
  "takeaway": "Parallel transport compares k with k prime along one null geodesic, but the distributional second slot carries minus k prime. Reversing the first slot produces the transposed orientation and fails the declared Hadamard condition for omega two.",
  "theorem_scope": {
    "spacetime_dimension": 4,
    "background": "smooth, time-oriented, globally hyperbolic Lorentzian spacetime without boundary",
    "metric_signature": "(+---)",
    "field": "real scalar Klein-Gordon field",
    "operator": "P=Box_g+m^2+xi R, normally hyperbolic",
    "two_point_input": "state two-point bidistribution satisfying the Klein-Gordon equation in both slots and the canonical antisymmetric part",
    "conclusion": "the Hadamard condition is represented by the future-first-slot null wavefront pairing shown here",
    "exclusions": [
      "timelike boundaries or reflected-ray boundary conditions",
      "gauge or constrained field complexes",
      "non-globally-hyperbolic backgrounds",
      "positivity or preferred-state selection inferred from wavefront data alone"
    ]
  },
  "conventions": {
    "localized_fourier_phase": "F_+(chi u)(p)=<chi u, exp(+i p.x)>",
    "positive_frequency_kernel_phase": "exp[-i omega(t-t_prime)+i p.(x-x_prime)]",
    "causal_propagator": "E=G_ret-G_adv",
    "canonical_antisymmetric_part": "omega_2-omega_2^T=-i E",
    "future_null_bundle": "N^+ contains nonzero future-directed null covectors",
    "parallel_transport": "k_prime=PT_gamma(k)",
    "null_geodesic_alignment": "k is nonzero and null, and k_sharp is tangent to the same null geodesic gamma that contains x and x_prime",
    "wavefront_pairing": "WF(omega_2) contains (x,k;x_prime,-k_prime), never (x,k;x_prime,k_prime)",
    "drawing_note": "arrows depict time orientation in cotangent fibers; the spacetime sketch is schematic and not to scale"
  },
  "accepted_case": {
    "id": "allowed_future_first_slot",
    "kernel": "omega_2(x,x_prime)",
    "relation": "(x,k)~(x_prime,k_prime)",
    "relation_definition": "x and x_prime lie on one null geodesic gamma, k is a nonzero null covector with k_sharp tangent to gamma at x, and k_prime=PT_gamma(k)",
    "tuple": "(x,k;x_prime,-k_prime)",
    "first_slot": {
      "base_point": "x",
      "covector": "k",
      "orientation": "future-directed null"
    },
    "transported_covector": {
      "base_point": "x_prime",
      "covector": "k_prime",
      "relation": "k_prime=PT_gamma(k)"
    },
    "second_slot": {
      "base_point": "x_prime",
      "covector": "-k_prime",
      "orientation": "past-directed null",
      "reason": "the two-point distribution carries the negative transported covector in its second slot"
    },
    "expected_result": "accept"
  },
  "negative_control": {
    "id": "reversed_first_slot_orientation",
    "kernel": "omega_2^T(x,x_prime)=omega_2(x_prime,x)",
    "relation": "(x,-k)~(x_prime,-k_prime)",
    "tuple": "(x,-k;x_prime,+k_prime)",
    "first_slot_orientation": "past-directed null",
    "expected_result": "reject for the declared WF(omega_2)",
    "strongest_surviving_statement": "the tuple has the transposed wavefront orientation and belongs to WF(omega_2^T), not the future-first-slot set of omega_2",
    "control_passed": true
  },
  "exact_minkowski_fixture": {
    "coordinates": "(t,x,y,z)",
    "x": [
      0,
      0,
      0,
      0
    ],
    "x_prime": [
      1,
      1,
      0,
      0
    ],
    "null_tangent": [
      1,
      1,
      0,
      0
    ],
    "spatial_momentum": [
      1,
      0,
      0
    ],
    "positive_frequency_energy": 1,
    "k": [
      1,
      -1,
      0,
      0
    ],
    "k_sharp": [
      1,
      1,
      0,
      0
    ],
    "k_prime": [
      1,
      -1,
      0,
      0
    ],
    "accepted_second_covector": [
      -1,
      1,
      0,
      0
    ],
    "rejected_first_covector": [
      -1,
      1,
      0,
      0
    ],
    "rejected_second_covector": [
      1,
      -1,
      0,
      0
    ],
    "covector_sum_after_parallel_transport": [
      0,
      0,
      0,
      0
    ]
  },
  "visual_relations": [
    {
      "id": "shared_null_geodesic",
      "source": "x",
      "target": "x_prime",
      "label": "one null geodesic gamma",
      "line_style": "solid"
    },
    {
      "id": "future_first_covector",
      "source": "x",
      "target": "k",
      "label": "k in N^+",
      "line_style": "solid arrow"
    },
    {
      "id": "parallel_transport",
      "source": "k",
      "target": "k_prime",
      "label": "k_prime=PT_gamma(k)",
      "line_style": "dashed arrow"
    },
    {
      "id": "distribution_second_slot",
      "source": "x_prime",
      "target": "-k_prime",
      "label": "slot 2: -k_prime",
      "line_style": "solid arrow with direct label"
    },
    {
      "id": "reversed_orientation_failure",
      "source": "-k",
      "target": "rejected WF(omega_2)",
      "label": "past-directed first slot",
      "line_style": "dotted arrow plus multiplication sign"
    }
  ],
  "accessibility": {
    "composition": "two vertically stacked panels in accepted-then-rejected reading order",
    "palette": "black and gray on an explicit white canvas",
    "redundant_encodings": [
      "direct labels",
      "solid, dashed, and dotted line styles",
      "accepted and rejected panel headings",
      "multiplication-sign rejection marker"
    ],
    "semantic_equivalent": "/figures/curved-spacetime/hadamard-wavefront-pairing.json",
    "minimum_viewport_css_pixels": 320,
    "horizontal_panning_required": false,
    "schematic": true,
    "not_to_scale": true
  },
  "checks": {
    "four_dimensional_fixture": true,
    "base_points_are_null_related": true,
    "positive_frequency_phase_gives_future_first_covector": true,
    "first_covector_is_null": true,
    "first_covector_is_coparallel_to_connecting_geodesic": true,
    "parallel_transport_preserves_covector": true,
    "second_slot_is_negative_transport": true,
    "transported_slot_covectors_sum_to_zero": true,
    "reversed_first_slot_is_past_directed": true,
    "reversed_tuple_is_exact_sign_flip": true
  }
}
