ND0146

SignedNegate(a,b)

Canonical signed negation swaps the positive and negative decoded parts.

Conservative notation; not a theorem, primitive, or axiom.

Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved.

Definition in prerequisite notation

∃ sn_pos_lowerlayer. ∃ sn_neg_lowerlayer. SignedDecode(a,sn_pos_lowerlayer,sn_neg_lowerlayer)SignedDecode(b,sn_neg_lowerlayer,sn_pos_lowerlayer)

Only definitions earlier in this acyclic notation graph are used here.

Hygienic expanded first-order definition
exists sn_pos_lowerlayer sn_neg_lowerlayer. (((a = 2 * sn_pos_lowerlayer /\ sn_neg_lowerlayer = 0) \/ exists sd_half_lowerlayer_input. ((a = 2 * sd_half_lowerlayer_input + 1 /\ sn_pos_lowerlayer = 0) /\ sn_neg_lowerlayer = S sd_half_lowerlayer_input)) /\ ((b = 2 * sn_neg_lowerlayer /\ sn_pos_lowerlayer = 0) \/ exists sd_half_lowerlayer_output. ((b = 2 * sd_half_lowerlayer_output + 1 /\ sn_neg_lowerlayer = 0) /\ sn_pos_lowerlayer = S sd_half_lowerlayer_output)))

The unchanged native kernel never receives this surface symbol. Binder-safe expansion produces only its existing first-order syntax.

Direct definition dependencies

Definitions depending on this notation

none

Checked theorems using this definition