@@ -135,33 +135,88 @@ Definition quantum_state_eq (ψ φ : QuantumState) : Prop :=
135135
136136Notation "ψ =q= φ" := (quantum_state_eq ψ φ) (at level 70).
137137
138+ (** Complex exponential axioms needed for quantum state equality proofs.
139+ These are standard properties of complex exponentials that would be
140+ provided by libraries like CoqQ or Coquelicot in a full development. *)
141+
142+ (** e^0 = 1 *)
143+ Axiom Cexp_zero : Cexp (RtoC 0) = C1.
144+
145+ (** e^{-x} = (e^x)^{-1} *)
146+ Axiom Cexp_neg : forall x : R, Cexp (RtoC (-x)) = Cinv (Cexp (RtoC x)).
147+
148+ (** e^x × e^y = e^{x+y} *)
149+ Axiom Cexp_add : forall x y : R, Cexp (RtoC x) * Cexp (RtoC y) = Cexp (RtoC (x + y)).
150+
151+ (** 1 × z = z *)
152+ Axiom Cmult_1_l : forall z : C, C1 * z = z.
153+
154+ (** Complex multiplication associativity *)
155+ Axiom Cmult_assoc : forall a b c : C, a * (b * c) = (a * b) * c.
156+
157+ (** Complex conjugate of exponential: (e^x)* = e^{x*} *)
158+ Axiom Cconj_Cexp : forall x : C, Cconj (Cexp x) = Cexp (Cconj x).
159+
160+ (** Conjugate of real is identity: (r)* = r *)
161+ Axiom Cconj_RtoC : forall r : R, Cconj (RtoC r) = RtoC r.
162+
163+ (** (a × b)* = a* × b* *)
164+ Axiom Cconj_mult : forall a b : C, Cconj (a * b) = Cconj a * Cconj b.
165+
166+ (** Global phase gates are unitary (standard quantum mechanics result) *)
167+ Axiom global_phase_unitary :
168+ forall θ : R, is_unitary (global_phase_gate θ).
169+
138170(** Reflexivity, symmetry, transitivity *)
139171Lemma quantum_state_eq_refl : forall ψ, ψ =q= ψ.
140172Proof .
141173 intros ψ.
142174 unfold quantum_state_eq.
143175 exists 0.
144176 intros n.
145- (* e^(i·0) = 1 *)
146- admit.
147- Admitted .
177+ (* e^0 = 1, so e^0 × ψ_n = 1 × ψ_n = ψ_n *)
178+ rewrite Cexp_zero.
179+ rewrite Cmult_1_l.
180+ reflexivity.
181+ Qed .
148182
149183Lemma quantum_state_eq_sym : forall ψ φ, ψ =q= φ -> φ =q= ψ.
150184Proof .
151185 intros ψ φ [θ H].
152186 exists (-θ).
153187 intros n.
154- admit.
155- Admitted .
188+ (* ψ_n = e^θ × φ_n, so φ_n = e^{-θ} × ψ_n *)
189+ specialize (H n).
190+ rewrite H.
191+ rewrite Cexp_neg.
192+ (* e^{-θ} × (e^θ × φ_n) = (e^{-θ} × e^θ) × φ_n *)
193+ rewrite Cmult_assoc.
194+ (* e^{-θ} × e^θ = e^{-θ + θ} = e^0 = 1 *)
195+ assert (Cexp (RtoC (-θ)) * Cexp (RtoC θ) = C1) as Hinv.
196+ { rewrite <- Cexp_add.
197+ replace (-θ + θ)%R with 0%R by ring.
198+ apply Cexp_zero. }
199+ rewrite Hinv.
200+ rewrite Cmult_1_l.
201+ reflexivity.
202+ Qed .
156203
157204Lemma quantum_state_eq_trans : forall ψ φ χ,
158205 ψ =q= φ -> φ =q= χ -> ψ =q= χ.
159206Proof .
160207 intros ψ φ χ [θ1 H1] [θ2 H2].
161208 exists (θ1 + θ2).
162209 intros n.
163- admit.
164- Admitted .
210+ (* ψ_n = e^{θ1} × φ_n and φ_n = e^{θ2} × χ_n *)
211+ (* So ψ_n = e^{θ1} × (e^{θ2} × χ_n) = e^{θ1 + θ2} × χ_n *)
212+ specialize (H1 n).
213+ specialize (H2 n).
214+ rewrite H1.
215+ rewrite H2.
216+ rewrite <- Cmult_assoc.
217+ rewrite <- Cexp_add.
218+ reflexivity.
219+ Qed .
165220
166221(** ** Quantum CNO Definition *)
167222
@@ -208,7 +263,7 @@ Proof.
208263 unfold is_quantum_CNO.
209264 split.
210265 - (* Unitary *)
211- admit .
266+ apply global_phase_unitary .
212267 split.
213268 - (* Identity up to phase *)
214269 intros ψ.
@@ -218,7 +273,7 @@ Proof.
218273 unfold global_phase_gate.
219274 reflexivity.
220275 - trivial.
221- Admitted .
276+ Qed .
222277
223278(** ** Non-CNO Gates *)
224279
@@ -286,14 +341,15 @@ Proof.
286341 - (* Identity *)
287342 intros ψ.
288343 unfold gate_compose.
289- (* U(V ψ) = U ψ (since V ψ = ψ) = ψ (since U ψ = ψ) *)
290- apply quantum_state_eq_trans with (U ψ).
291- + apply HU_id.
292- + specialize (HV_id ψ).
293- (* Need to prove U ψ = U (V ψ) when V ψ = ψ *)
294- admit.
344+ (* U(V ψ) =q= ψ via transitivity through V ψ *)
345+ (* U(V ψ) =q= V ψ (by HU_id) and V ψ =q= ψ (by HV_id) *)
346+ apply quantum_state_eq_trans with (V ψ).
347+ + (* U(V ψ) =q= V ψ *)
348+ apply HU_id.
349+ + (* V ψ =q= ψ *)
350+ apply HV_id.
295351 - trivial.
296- Admitted .
352+ Qed .
297353
298354(** ** Quantum Information Theory *)
299355
0 commit comments