Deterministik N/M property assertion'ları
Sabit tohumlu sonlu örnek toleranslarını, kapsayıcı gözlenebilir aralıklarını, açık global faz eşdeğerliğini ve denetlenebilir özellik karşı örneklerini uzlaştırın.
Deterministik N/M 0.2 property assertion'ları
NM-RFC-0003 finite-shot kontrollerini, observable sınırlarını ve global-faz eşdeğerliğini açık, makine-okur sözleşmelere dönüştürür. Feature uzlaşılmadıkça kararlı 0.1 parser değişmez.
Seed'li shot toleransı
~= biçimi hem @seed hem @shots ister. Her property case türetilmiş ayrı random stream alır; sampled değer, analitik değer, standart hata, shot sayısı ve tolerans kaydedilir.
assert probability(|bits>) ~= expected tolerance delta;Kapsayıcı observable aralığı
in [minimum, maximum] biçimi tam ağırlıklı observable'ı analitik değerlendirir ve sınırlı sayısal epsilon ile iki ucu da kapsar.
assert expectation <observable> in [minimum, maximum];Global faza kadar eşdeğerlik
up_to_phase, phasePolicy=global kaydeder ve state fidelity karşılaştırır. Global exp(iφ) çarpanı sonucu değiştiremez.
assert equivalent("target") up_to_phase;Denetlenebilir karşı-örnekler
Yürütme ilk başarısız property case'te durur; parametre değeri, türetilmiş seed, sıralı assertion kanıtı ve kararlı tanı kodları korunur.
fnv1a32(base-seed,property-name,parameter,canonical-value)Deneysel kaynak
1module property_assertions;2@seed(17);3@shots(256);4 5fn main() {6 property "phase-safe plus" {7 forall theta in 0 .. PI step PI / 2 {8 let q: QReg<1> = qreg[1];9 GPhase(theta);10 H(q[0]);11 assert probability(|0>) ~= 0.5 tolerance 0.1;12 assert expectation Z(q[0]) in [-1, 1];13 assert equivalent("plus") up_to_phase;14 }15 }16 return 0;17}Açık yüzey uzlaşması
Core çağrıları parser seçeneğini iletir; CLI, LSP ve VS Code ayrı opt-in sunar. Varsayılan kapalı kaldığı için deneysel syntax kararlı projelere sessizce giremez.
parseNMCode(source, { experimental: { propertyAssertions: true } })nm test main.nm --experimental-property-assertionsinitializationOptions.nm.experimental.propertyAssertions = truenm.experimental.propertyAssertions = trueKararlı tanılar
NM-PARSE-056NM-PARSE-057NM-PARSE-058NM-PARSE-059NM-ASSERT-007NM-ASSERT-008NM-ASSERT-009Bu deneysel dilim keyfi generator, shrinking, confidence interval, assertion başına shot, density-matrix eşdeğerliği veya tüm hataları toplama özelliğini kapsamaz. FNV seed türetimi güvenlik için değil tekrar üretilebilirlik içindir.