1use crate::enums::QuantifierKind;
8use crate::enums::WittLevel;
9use crate::HostTypes;
10
11pub trait Datum<H: HostTypes> {
14 fn value(&self) -> u64;
16 fn witt_length(&self) -> u64;
18 fn stratum(&self) -> u64;
20 fn spectrum(&self) -> u64;
22 type Element: crate::kernel::address::Element<H>;
24 fn element(&self) -> &Self::Element;
26}
27
28pub trait Term<H: HostTypes> {}
31
32pub trait Triad<H: HostTypes> {
34 fn triad_stratum(&self) -> u64;
36 fn triad_spectrum(&self) -> u64;
38 fn triad_address(&self) -> u64;
40}
41
42pub trait Literal<H: HostTypes>: Term<H> + SurfaceSymbol<H> {
44 type Datum: Datum<H>;
46 fn denotes(&self) -> &Self::Datum;
48}
49
50pub trait Application<H: HostTypes>: Term<H> {
52 type Operation: crate::kernel::op::Operation<H>;
54 fn operator(&self) -> &Self::Operation;
56 type Term: Term<H>;
58 fn argument(&self) -> &[Self::Term];
60}
61
62pub trait Ring<H: HostTypes> {
64 fn ring_witt_length(&self) -> u64;
66 fn modulus(&self) -> u64;
68 type Datum: Datum<H>;
70 fn generator(&self) -> &Self::Datum;
72 type Involution: crate::kernel::op::Involution<H>;
74 fn negation(&self) -> &Self::Involution;
76 fn complement(&self) -> &Self::Involution;
78 fn at_witt_level(&self) -> WittLevel;
80}
81
82pub trait W16Ring<H: HostTypes>: Ring<H> {
84 fn w16bit_width(&self) -> u64;
86 fn w16capacity(&self) -> u64;
88}
89
90pub trait TermExpression<H: HostTypes> {}
92
93pub trait LiteralExpression<H: HostTypes>: TermExpression<H> {
95 fn literal_value(&self) -> &H::HostString;
97}
98
99pub trait ApplicationExpression<H: HostTypes>: TermExpression<H> {
101 type Operation: crate::kernel::op::Operation<H>;
103 fn expression_operator(&self) -> &Self::Operation;
105 type TermExpression: TermExpression<H>;
107 fn arguments(&self) -> &[Self::TermExpression];
109}
110
111pub trait InfixExpression<H: HostTypes>: TermExpression<H> {
113 type TermExpression: TermExpression<H>;
115 fn left_operand(&self) -> &Self::TermExpression;
117 fn right_operand(&self) -> &Self::TermExpression;
119 fn infix_operator(&self) -> &H::HostString;
121}
122
123pub trait SetExpression<H: HostTypes>: TermExpression<H> {}
125
126pub trait CompositionExpression<H: HostTypes>: TermExpression<H> {}
128
129pub trait ForAllDeclaration<H: HostTypes> {
131 type VariableBinding: VariableBinding<H>;
133 fn bound_variables(&self) -> &[Self::VariableBinding];
135 fn quantifier_kind(&self) -> QuantifierKind;
137}
138
139pub trait VariableBinding<H: HostTypes> {
141 fn variable_domain(&self) -> &H::HostString;
143 fn variable_name(&self) -> &H::HostString;
145}
146
147pub trait SurfaceSymbol<H: HostTypes> {}
149
150pub trait HostValue<H: HostTypes>: SurfaceSymbol<H> {}
153
154pub trait HostStringLiteral<H: HostTypes>: HostValue<H> {
156 fn host_string(&self) -> &H::HostString;
158}
159
160pub trait HostBooleanLiteral<H: HostTypes>: HostValue<H> {
162 fn host_boolean(&self) -> bool;
164}
165
166pub trait ValueTuple<H: HostTypes> {}
168
169#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
175pub struct NullDatum<H: HostTypes> {
176 _phantom: core::marker::PhantomData<H>,
177}
178impl<H: HostTypes> Default for NullDatum<H> {
179 fn default() -> Self {
180 Self {
181 _phantom: core::marker::PhantomData,
182 }
183 }
184}
185impl<H: HostTypes> NullDatum<H> {
186 pub const ABSENT: NullDatum<H> = NullDatum {
188 _phantom: core::marker::PhantomData,
189 };
190}
191impl<H: HostTypes> Datum<H> for NullDatum<H> {
192 fn value(&self) -> u64 {
193 0
194 }
195 fn witt_length(&self) -> u64 {
196 0
197 }
198 fn stratum(&self) -> u64 {
199 0
200 }
201 fn spectrum(&self) -> u64 {
202 0
203 }
204 type Element = crate::kernel::address::NullElement<H>;
205 fn element(&self) -> &Self::Element {
206 &<crate::kernel::address::NullElement<H>>::ABSENT
207 }
208}
209
210#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
216pub struct NullTerm<H: HostTypes> {
217 _phantom: core::marker::PhantomData<H>,
218}
219impl<H: HostTypes> Default for NullTerm<H> {
220 fn default() -> Self {
221 Self {
222 _phantom: core::marker::PhantomData,
223 }
224 }
225}
226impl<H: HostTypes> NullTerm<H> {
227 pub const ABSENT: NullTerm<H> = NullTerm {
229 _phantom: core::marker::PhantomData,
230 };
231}
232impl<H: HostTypes> Term<H> for NullTerm<H> {}
233
234#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
240pub struct NullTriad<H: HostTypes> {
241 _phantom: core::marker::PhantomData<H>,
242}
243impl<H: HostTypes> Default for NullTriad<H> {
244 fn default() -> Self {
245 Self {
246 _phantom: core::marker::PhantomData,
247 }
248 }
249}
250impl<H: HostTypes> NullTriad<H> {
251 pub const ABSENT: NullTriad<H> = NullTriad {
253 _phantom: core::marker::PhantomData,
254 };
255}
256impl<H: HostTypes> Triad<H> for NullTriad<H> {
257 fn triad_stratum(&self) -> u64 {
258 0
259 }
260 fn triad_spectrum(&self) -> u64 {
261 0
262 }
263 fn triad_address(&self) -> u64 {
264 0
265 }
266}
267
268#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
274pub struct NullLiteral<H: HostTypes> {
275 _phantom: core::marker::PhantomData<H>,
276}
277impl<H: HostTypes> Default for NullLiteral<H> {
278 fn default() -> Self {
279 Self {
280 _phantom: core::marker::PhantomData,
281 }
282 }
283}
284impl<H: HostTypes> NullLiteral<H> {
285 pub const ABSENT: NullLiteral<H> = NullLiteral {
287 _phantom: core::marker::PhantomData,
288 };
289}
290impl<H: HostTypes> Term<H> for NullLiteral<H> {}
291impl<H: HostTypes> SurfaceSymbol<H> for NullLiteral<H> {}
292impl<H: HostTypes> Literal<H> for NullLiteral<H> {
293 type Datum = NullDatum<H>;
294 fn denotes(&self) -> &Self::Datum {
295 &<NullDatum<H>>::ABSENT
296 }
297}
298
299#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
305pub struct NullApplication<H: HostTypes> {
306 _phantom: core::marker::PhantomData<H>,
307}
308impl<H: HostTypes> Default for NullApplication<H> {
309 fn default() -> Self {
310 Self {
311 _phantom: core::marker::PhantomData,
312 }
313 }
314}
315impl<H: HostTypes> NullApplication<H> {
316 pub const ABSENT: NullApplication<H> = NullApplication {
318 _phantom: core::marker::PhantomData,
319 };
320}
321impl<H: HostTypes> Term<H> for NullApplication<H> {}
322impl<H: HostTypes> Application<H> for NullApplication<H> {
323 type Operation = crate::kernel::op::NullOperation<H>;
324 fn operator(&self) -> &Self::Operation {
325 &<crate::kernel::op::NullOperation<H>>::ABSENT
326 }
327 type Term = NullTerm<H>;
328 fn argument(&self) -> &[Self::Term] {
329 &[]
330 }
331}
332
333#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
339pub struct NullRing<H: HostTypes> {
340 _phantom: core::marker::PhantomData<H>,
341}
342impl<H: HostTypes> Default for NullRing<H> {
343 fn default() -> Self {
344 Self {
345 _phantom: core::marker::PhantomData,
346 }
347 }
348}
349impl<H: HostTypes> NullRing<H> {
350 pub const ABSENT: NullRing<H> = NullRing {
352 _phantom: core::marker::PhantomData,
353 };
354}
355impl<H: HostTypes> Ring<H> for NullRing<H> {
356 fn ring_witt_length(&self) -> u64 {
357 0
358 }
359 fn modulus(&self) -> u64 {
360 0
361 }
362 type Datum = NullDatum<H>;
363 fn generator(&self) -> &Self::Datum {
364 &<NullDatum<H>>::ABSENT
365 }
366 type Involution = crate::kernel::op::NullInvolution<H>;
367 fn negation(&self) -> &Self::Involution {
368 &<crate::kernel::op::NullInvolution<H>>::ABSENT
369 }
370 fn complement(&self) -> &Self::Involution {
371 &<crate::kernel::op::NullInvolution<H>>::ABSENT
372 }
373 fn at_witt_level(&self) -> WittLevel {
374 <WittLevel>::default()
375 }
376}
377
378#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
384pub struct NullW16Ring<H: HostTypes> {
385 _phantom: core::marker::PhantomData<H>,
386}
387impl<H: HostTypes> Default for NullW16Ring<H> {
388 fn default() -> Self {
389 Self {
390 _phantom: core::marker::PhantomData,
391 }
392 }
393}
394impl<H: HostTypes> NullW16Ring<H> {
395 pub const ABSENT: NullW16Ring<H> = NullW16Ring {
397 _phantom: core::marker::PhantomData,
398 };
399}
400impl<H: HostTypes> Ring<H> for NullW16Ring<H> {
401 fn ring_witt_length(&self) -> u64 {
402 0
403 }
404 fn modulus(&self) -> u64 {
405 0
406 }
407 type Datum = NullDatum<H>;
408 fn generator(&self) -> &Self::Datum {
409 &<NullDatum<H>>::ABSENT
410 }
411 type Involution = crate::kernel::op::NullInvolution<H>;
412 fn negation(&self) -> &Self::Involution {
413 &<crate::kernel::op::NullInvolution<H>>::ABSENT
414 }
415 fn complement(&self) -> &Self::Involution {
416 &<crate::kernel::op::NullInvolution<H>>::ABSENT
417 }
418 fn at_witt_level(&self) -> WittLevel {
419 <WittLevel>::default()
420 }
421}
422impl<H: HostTypes> W16Ring<H> for NullW16Ring<H> {
423 fn w16bit_width(&self) -> u64 {
424 0
425 }
426 fn w16capacity(&self) -> u64 {
427 0
428 }
429}
430
431#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
437pub struct NullTermExpression<H: HostTypes> {
438 _phantom: core::marker::PhantomData<H>,
439}
440impl<H: HostTypes> Default for NullTermExpression<H> {
441 fn default() -> Self {
442 Self {
443 _phantom: core::marker::PhantomData,
444 }
445 }
446}
447impl<H: HostTypes> NullTermExpression<H> {
448 pub const ABSENT: NullTermExpression<H> = NullTermExpression {
450 _phantom: core::marker::PhantomData,
451 };
452}
453impl<H: HostTypes> TermExpression<H> for NullTermExpression<H> {}
454
455#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
461pub struct NullLiteralExpression<H: HostTypes> {
462 _phantom: core::marker::PhantomData<H>,
463}
464impl<H: HostTypes> Default for NullLiteralExpression<H> {
465 fn default() -> Self {
466 Self {
467 _phantom: core::marker::PhantomData,
468 }
469 }
470}
471impl<H: HostTypes> NullLiteralExpression<H> {
472 pub const ABSENT: NullLiteralExpression<H> = NullLiteralExpression {
474 _phantom: core::marker::PhantomData,
475 };
476}
477impl<H: HostTypes> TermExpression<H> for NullLiteralExpression<H> {}
478impl<H: HostTypes> LiteralExpression<H> for NullLiteralExpression<H> {
479 fn literal_value(&self) -> &H::HostString {
480 H::EMPTY_HOST_STRING
481 }
482}
483
484#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
490pub struct NullApplicationExpression<H: HostTypes> {
491 _phantom: core::marker::PhantomData<H>,
492}
493impl<H: HostTypes> Default for NullApplicationExpression<H> {
494 fn default() -> Self {
495 Self {
496 _phantom: core::marker::PhantomData,
497 }
498 }
499}
500impl<H: HostTypes> NullApplicationExpression<H> {
501 pub const ABSENT: NullApplicationExpression<H> = NullApplicationExpression {
503 _phantom: core::marker::PhantomData,
504 };
505}
506impl<H: HostTypes> TermExpression<H> for NullApplicationExpression<H> {}
507impl<H: HostTypes> ApplicationExpression<H> for NullApplicationExpression<H> {
508 type Operation = crate::kernel::op::NullOperation<H>;
509 fn expression_operator(&self) -> &Self::Operation {
510 &<crate::kernel::op::NullOperation<H>>::ABSENT
511 }
512 type TermExpression = NullTermExpression<H>;
513 fn arguments(&self) -> &[Self::TermExpression] {
514 &[]
515 }
516}
517
518#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
524pub struct NullInfixExpression<H: HostTypes> {
525 _phantom: core::marker::PhantomData<H>,
526}
527impl<H: HostTypes> Default for NullInfixExpression<H> {
528 fn default() -> Self {
529 Self {
530 _phantom: core::marker::PhantomData,
531 }
532 }
533}
534impl<H: HostTypes> NullInfixExpression<H> {
535 pub const ABSENT: NullInfixExpression<H> = NullInfixExpression {
537 _phantom: core::marker::PhantomData,
538 };
539}
540impl<H: HostTypes> TermExpression<H> for NullInfixExpression<H> {}
541impl<H: HostTypes> InfixExpression<H> for NullInfixExpression<H> {
542 type TermExpression = NullTermExpression<H>;
543 fn left_operand(&self) -> &Self::TermExpression {
544 &<NullTermExpression<H>>::ABSENT
545 }
546 fn right_operand(&self) -> &Self::TermExpression {
547 &<NullTermExpression<H>>::ABSENT
548 }
549 fn infix_operator(&self) -> &H::HostString {
550 H::EMPTY_HOST_STRING
551 }
552}
553
554#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
560pub struct NullSetExpression<H: HostTypes> {
561 _phantom: core::marker::PhantomData<H>,
562}
563impl<H: HostTypes> Default for NullSetExpression<H> {
564 fn default() -> Self {
565 Self {
566 _phantom: core::marker::PhantomData,
567 }
568 }
569}
570impl<H: HostTypes> NullSetExpression<H> {
571 pub const ABSENT: NullSetExpression<H> = NullSetExpression {
573 _phantom: core::marker::PhantomData,
574 };
575}
576impl<H: HostTypes> TermExpression<H> for NullSetExpression<H> {}
577impl<H: HostTypes> SetExpression<H> for NullSetExpression<H> {}
578
579#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
585pub struct NullCompositionExpression<H: HostTypes> {
586 _phantom: core::marker::PhantomData<H>,
587}
588impl<H: HostTypes> Default for NullCompositionExpression<H> {
589 fn default() -> Self {
590 Self {
591 _phantom: core::marker::PhantomData,
592 }
593 }
594}
595impl<H: HostTypes> NullCompositionExpression<H> {
596 pub const ABSENT: NullCompositionExpression<H> = NullCompositionExpression {
598 _phantom: core::marker::PhantomData,
599 };
600}
601impl<H: HostTypes> TermExpression<H> for NullCompositionExpression<H> {}
602impl<H: HostTypes> CompositionExpression<H> for NullCompositionExpression<H> {}
603
604#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
610pub struct NullForAllDeclaration<H: HostTypes> {
611 _phantom: core::marker::PhantomData<H>,
612}
613impl<H: HostTypes> Default for NullForAllDeclaration<H> {
614 fn default() -> Self {
615 Self {
616 _phantom: core::marker::PhantomData,
617 }
618 }
619}
620impl<H: HostTypes> NullForAllDeclaration<H> {
621 pub const ABSENT: NullForAllDeclaration<H> = NullForAllDeclaration {
623 _phantom: core::marker::PhantomData,
624 };
625}
626impl<H: HostTypes> ForAllDeclaration<H> for NullForAllDeclaration<H> {
627 type VariableBinding = NullVariableBinding<H>;
628 fn bound_variables(&self) -> &[Self::VariableBinding] {
629 &[]
630 }
631 fn quantifier_kind(&self) -> QuantifierKind {
632 <QuantifierKind>::default()
633 }
634}
635
636#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
642pub struct NullVariableBinding<H: HostTypes> {
643 _phantom: core::marker::PhantomData<H>,
644}
645impl<H: HostTypes> Default for NullVariableBinding<H> {
646 fn default() -> Self {
647 Self {
648 _phantom: core::marker::PhantomData,
649 }
650 }
651}
652impl<H: HostTypes> NullVariableBinding<H> {
653 pub const ABSENT: NullVariableBinding<H> = NullVariableBinding {
655 _phantom: core::marker::PhantomData,
656 };
657}
658impl<H: HostTypes> VariableBinding<H> for NullVariableBinding<H> {
659 fn variable_domain(&self) -> &H::HostString {
660 H::EMPTY_HOST_STRING
661 }
662 fn variable_name(&self) -> &H::HostString {
663 H::EMPTY_HOST_STRING
664 }
665}
666
667#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
673pub struct NullSurfaceSymbol<H: HostTypes> {
674 _phantom: core::marker::PhantomData<H>,
675}
676impl<H: HostTypes> Default for NullSurfaceSymbol<H> {
677 fn default() -> Self {
678 Self {
679 _phantom: core::marker::PhantomData,
680 }
681 }
682}
683impl<H: HostTypes> NullSurfaceSymbol<H> {
684 pub const ABSENT: NullSurfaceSymbol<H> = NullSurfaceSymbol {
686 _phantom: core::marker::PhantomData,
687 };
688}
689impl<H: HostTypes> SurfaceSymbol<H> for NullSurfaceSymbol<H> {}
690
691#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
697pub struct NullHostValue<H: HostTypes> {
698 _phantom: core::marker::PhantomData<H>,
699}
700impl<H: HostTypes> Default for NullHostValue<H> {
701 fn default() -> Self {
702 Self {
703 _phantom: core::marker::PhantomData,
704 }
705 }
706}
707impl<H: HostTypes> NullHostValue<H> {
708 pub const ABSENT: NullHostValue<H> = NullHostValue {
710 _phantom: core::marker::PhantomData,
711 };
712}
713impl<H: HostTypes> SurfaceSymbol<H> for NullHostValue<H> {}
714impl<H: HostTypes> HostValue<H> for NullHostValue<H> {}
715
716#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
722pub struct NullHostStringLiteral<H: HostTypes> {
723 _phantom: core::marker::PhantomData<H>,
724}
725impl<H: HostTypes> Default for NullHostStringLiteral<H> {
726 fn default() -> Self {
727 Self {
728 _phantom: core::marker::PhantomData,
729 }
730 }
731}
732impl<H: HostTypes> NullHostStringLiteral<H> {
733 pub const ABSENT: NullHostStringLiteral<H> = NullHostStringLiteral {
735 _phantom: core::marker::PhantomData,
736 };
737}
738impl<H: HostTypes> SurfaceSymbol<H> for NullHostStringLiteral<H> {}
739impl<H: HostTypes> HostValue<H> for NullHostStringLiteral<H> {}
740impl<H: HostTypes> HostStringLiteral<H> for NullHostStringLiteral<H> {
741 fn host_string(&self) -> &H::HostString {
742 H::EMPTY_HOST_STRING
743 }
744}
745
746#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
752pub struct NullHostBooleanLiteral<H: HostTypes> {
753 _phantom: core::marker::PhantomData<H>,
754}
755impl<H: HostTypes> Default for NullHostBooleanLiteral<H> {
756 fn default() -> Self {
757 Self {
758 _phantom: core::marker::PhantomData,
759 }
760 }
761}
762impl<H: HostTypes> NullHostBooleanLiteral<H> {
763 pub const ABSENT: NullHostBooleanLiteral<H> = NullHostBooleanLiteral {
765 _phantom: core::marker::PhantomData,
766 };
767}
768impl<H: HostTypes> SurfaceSymbol<H> for NullHostBooleanLiteral<H> {}
769impl<H: HostTypes> HostValue<H> for NullHostBooleanLiteral<H> {}
770impl<H: HostTypes> HostBooleanLiteral<H> for NullHostBooleanLiteral<H> {
771 fn host_boolean(&self) -> bool {
772 false
773 }
774}
775
776#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
782pub struct NullValueTuple<H: HostTypes> {
783 _phantom: core::marker::PhantomData<H>,
784}
785impl<H: HostTypes> Default for NullValueTuple<H> {
786 fn default() -> Self {
787 Self {
788 _phantom: core::marker::PhantomData,
789 }
790 }
791}
792impl<H: HostTypes> NullValueTuple<H> {
793 pub const ABSENT: NullValueTuple<H> = NullValueTuple {
795 _phantom: core::marker::PhantomData,
796 };
797}
798impl<H: HostTypes> ValueTuple<H> for NullValueTuple<H> {}
799
800#[derive(Debug)]
805pub struct DatumHandle<H: HostTypes> {
806 pub fingerprint: crate::enforcement::ContentFingerprint,
808 _phantom: core::marker::PhantomData<H>,
809}
810impl<H: HostTypes> Copy for DatumHandle<H> {}
811impl<H: HostTypes> Clone for DatumHandle<H> {
812 #[inline]
813 fn clone(&self) -> Self {
814 *self
815 }
816}
817impl<H: HostTypes> PartialEq for DatumHandle<H> {
818 #[inline]
819 fn eq(&self, other: &Self) -> bool {
820 self.fingerprint == other.fingerprint
821 }
822}
823impl<H: HostTypes> Eq for DatumHandle<H> {}
824impl<H: HostTypes> core::hash::Hash for DatumHandle<H> {
825 #[inline]
826 fn hash<S: core::hash::Hasher>(&self, state: &mut S) {
827 self.fingerprint.hash(state);
828 }
829}
830impl<H: HostTypes> DatumHandle<H> {
831 #[inline]
833 #[must_use]
834 pub const fn new(fingerprint: crate::enforcement::ContentFingerprint) -> Self {
835 Self {
836 fingerprint,
837 _phantom: core::marker::PhantomData,
838 }
839 }
840}
841
842pub trait DatumResolver<H: HostTypes> {
848 fn resolve(&self, handle: DatumHandle<H>) -> Option<DatumRecord<H>>;
851}
852
853#[derive(Clone, Debug, PartialEq, Eq, Hash)]
859pub struct DatumRecord<H: HostTypes> {
860 pub value: u64,
861 pub witt_length: u64,
862 pub stratum: u64,
863 pub spectrum: u64,
864 pub element_handle: crate::kernel::address::ElementHandle<H>,
865 #[doc(hidden)]
866 pub _phantom: core::marker::PhantomData<H>,
867}
868
869pub struct ResolvedDatum<'r, R: DatumResolver<H>, H: HostTypes> {
877 handle: DatumHandle<H>,
878 resolver: &'r R,
879 record: Option<DatumRecord<H>>,
880}
881impl<'r, R: DatumResolver<H>, H: HostTypes> ResolvedDatum<'r, R, H> {
882 #[inline]
884 pub fn new(handle: DatumHandle<H>, resolver: &'r R) -> Self {
885 let record = resolver.resolve(handle);
886 Self {
887 handle,
888 resolver,
889 record,
890 }
891 }
892 #[inline]
894 #[must_use]
895 pub const fn handle(&self) -> DatumHandle<H> {
896 self.handle
897 }
898 #[inline]
900 #[must_use]
901 pub const fn resolver(&self) -> &'r R {
902 self.resolver
903 }
904 #[inline]
906 #[must_use]
907 pub const fn record(&self) -> Option<&DatumRecord<H>> {
908 self.record.as_ref()
909 }
910}
911impl<'r, R: DatumResolver<H>, H: HostTypes> Datum<H> for ResolvedDatum<'r, R, H> {
912 fn value(&self) -> u64 {
913 match &self.record {
914 Some(r) => r.value,
915 None => 0,
916 }
917 }
918 fn witt_length(&self) -> u64 {
919 match &self.record {
920 Some(r) => r.witt_length,
921 None => 0,
922 }
923 }
924 fn stratum(&self) -> u64 {
925 match &self.record {
926 Some(r) => r.stratum,
927 None => 0,
928 }
929 }
930 fn spectrum(&self) -> u64 {
931 match &self.record {
932 Some(r) => r.spectrum,
933 None => 0,
934 }
935 }
936 type Element = crate::kernel::address::NullElement<H>;
937 fn element(&self) -> &Self::Element {
938 &<crate::kernel::address::NullElement<H>>::ABSENT
939 }
940}
941impl<'r, R: DatumResolver<H>, H: HostTypes> ResolvedDatum<'r, R, H> {
942 #[inline]
946 pub fn resolve_element<'r2, R2: crate::kernel::address::ElementResolver<H>>(
947 &self,
948 r: &'r2 R2,
949 ) -> Option<crate::kernel::address::ResolvedElement<'r2, R2, H>> {
950 let record = self.record.as_ref()?;
951 Some(crate::kernel::address::ResolvedElement::new(
952 record.element_handle,
953 r,
954 ))
955 }
956}
957
958#[derive(Debug)]
963pub struct TermHandle<H: HostTypes> {
964 pub fingerprint: crate::enforcement::ContentFingerprint,
966 _phantom: core::marker::PhantomData<H>,
967}
968impl<H: HostTypes> Copy for TermHandle<H> {}
969impl<H: HostTypes> Clone for TermHandle<H> {
970 #[inline]
971 fn clone(&self) -> Self {
972 *self
973 }
974}
975impl<H: HostTypes> PartialEq for TermHandle<H> {
976 #[inline]
977 fn eq(&self, other: &Self) -> bool {
978 self.fingerprint == other.fingerprint
979 }
980}
981impl<H: HostTypes> Eq for TermHandle<H> {}
982impl<H: HostTypes> core::hash::Hash for TermHandle<H> {
983 #[inline]
984 fn hash<S: core::hash::Hasher>(&self, state: &mut S) {
985 self.fingerprint.hash(state);
986 }
987}
988impl<H: HostTypes> TermHandle<H> {
989 #[inline]
991 #[must_use]
992 pub const fn new(fingerprint: crate::enforcement::ContentFingerprint) -> Self {
993 Self {
994 fingerprint,
995 _phantom: core::marker::PhantomData,
996 }
997 }
998}
999
1000pub trait TermResolver<H: HostTypes> {
1006 fn resolve(&self, handle: TermHandle<H>) -> Option<TermRecord<H>>;
1009}
1010
1011#[derive(Clone, Debug, PartialEq, Eq, Hash)]
1017pub struct TermRecord<H: HostTypes> {
1018 #[doc(hidden)]
1019 pub _phantom: core::marker::PhantomData<H>,
1020}
1021
1022pub struct ResolvedTerm<'r, R: TermResolver<H>, H: HostTypes> {
1030 handle: TermHandle<H>,
1031 resolver: &'r R,
1032 record: Option<TermRecord<H>>,
1033}
1034impl<'r, R: TermResolver<H>, H: HostTypes> ResolvedTerm<'r, R, H> {
1035 #[inline]
1037 pub fn new(handle: TermHandle<H>, resolver: &'r R) -> Self {
1038 let record = resolver.resolve(handle);
1039 Self {
1040 handle,
1041 resolver,
1042 record,
1043 }
1044 }
1045 #[inline]
1047 #[must_use]
1048 pub const fn handle(&self) -> TermHandle<H> {
1049 self.handle
1050 }
1051 #[inline]
1053 #[must_use]
1054 pub const fn resolver(&self) -> &'r R {
1055 self.resolver
1056 }
1057 #[inline]
1059 #[must_use]
1060 pub const fn record(&self) -> Option<&TermRecord<H>> {
1061 self.record.as_ref()
1062 }
1063}
1064impl<'r, R: TermResolver<H>, H: HostTypes> Term<H> for ResolvedTerm<'r, R, H> {}
1065
1066#[derive(Debug)]
1071pub struct TriadHandle<H: HostTypes> {
1072 pub fingerprint: crate::enforcement::ContentFingerprint,
1074 _phantom: core::marker::PhantomData<H>,
1075}
1076impl<H: HostTypes> Copy for TriadHandle<H> {}
1077impl<H: HostTypes> Clone for TriadHandle<H> {
1078 #[inline]
1079 fn clone(&self) -> Self {
1080 *self
1081 }
1082}
1083impl<H: HostTypes> PartialEq for TriadHandle<H> {
1084 #[inline]
1085 fn eq(&self, other: &Self) -> bool {
1086 self.fingerprint == other.fingerprint
1087 }
1088}
1089impl<H: HostTypes> Eq for TriadHandle<H> {}
1090impl<H: HostTypes> core::hash::Hash for TriadHandle<H> {
1091 #[inline]
1092 fn hash<S: core::hash::Hasher>(&self, state: &mut S) {
1093 self.fingerprint.hash(state);
1094 }
1095}
1096impl<H: HostTypes> TriadHandle<H> {
1097 #[inline]
1099 #[must_use]
1100 pub const fn new(fingerprint: crate::enforcement::ContentFingerprint) -> Self {
1101 Self {
1102 fingerprint,
1103 _phantom: core::marker::PhantomData,
1104 }
1105 }
1106}
1107
1108pub trait TriadResolver<H: HostTypes> {
1114 fn resolve(&self, handle: TriadHandle<H>) -> Option<TriadRecord<H>>;
1117}
1118
1119#[derive(Clone, Debug, PartialEq, Eq, Hash)]
1125pub struct TriadRecord<H: HostTypes> {
1126 pub triad_stratum: u64,
1127 pub triad_spectrum: u64,
1128 pub triad_address: u64,
1129 #[doc(hidden)]
1130 pub _phantom: core::marker::PhantomData<H>,
1131}
1132
1133pub struct ResolvedTriad<'r, R: TriadResolver<H>, H: HostTypes> {
1141 handle: TriadHandle<H>,
1142 resolver: &'r R,
1143 record: Option<TriadRecord<H>>,
1144}
1145impl<'r, R: TriadResolver<H>, H: HostTypes> ResolvedTriad<'r, R, H> {
1146 #[inline]
1148 pub fn new(handle: TriadHandle<H>, resolver: &'r R) -> Self {
1149 let record = resolver.resolve(handle);
1150 Self {
1151 handle,
1152 resolver,
1153 record,
1154 }
1155 }
1156 #[inline]
1158 #[must_use]
1159 pub const fn handle(&self) -> TriadHandle<H> {
1160 self.handle
1161 }
1162 #[inline]
1164 #[must_use]
1165 pub const fn resolver(&self) -> &'r R {
1166 self.resolver
1167 }
1168 #[inline]
1170 #[must_use]
1171 pub const fn record(&self) -> Option<&TriadRecord<H>> {
1172 self.record.as_ref()
1173 }
1174}
1175impl<'r, R: TriadResolver<H>, H: HostTypes> Triad<H> for ResolvedTriad<'r, R, H> {
1176 fn triad_stratum(&self) -> u64 {
1177 match &self.record {
1178 Some(r) => r.triad_stratum,
1179 None => 0,
1180 }
1181 }
1182 fn triad_spectrum(&self) -> u64 {
1183 match &self.record {
1184 Some(r) => r.triad_spectrum,
1185 None => 0,
1186 }
1187 }
1188 fn triad_address(&self) -> u64 {
1189 match &self.record {
1190 Some(r) => r.triad_address,
1191 None => 0,
1192 }
1193 }
1194}
1195
1196#[derive(Debug)]
1201pub struct LiteralHandle<H: HostTypes> {
1202 pub fingerprint: crate::enforcement::ContentFingerprint,
1204 _phantom: core::marker::PhantomData<H>,
1205}
1206impl<H: HostTypes> Copy for LiteralHandle<H> {}
1207impl<H: HostTypes> Clone for LiteralHandle<H> {
1208 #[inline]
1209 fn clone(&self) -> Self {
1210 *self
1211 }
1212}
1213impl<H: HostTypes> PartialEq for LiteralHandle<H> {
1214 #[inline]
1215 fn eq(&self, other: &Self) -> bool {
1216 self.fingerprint == other.fingerprint
1217 }
1218}
1219impl<H: HostTypes> Eq for LiteralHandle<H> {}
1220impl<H: HostTypes> core::hash::Hash for LiteralHandle<H> {
1221 #[inline]
1222 fn hash<S: core::hash::Hasher>(&self, state: &mut S) {
1223 self.fingerprint.hash(state);
1224 }
1225}
1226impl<H: HostTypes> LiteralHandle<H> {
1227 #[inline]
1229 #[must_use]
1230 pub const fn new(fingerprint: crate::enforcement::ContentFingerprint) -> Self {
1231 Self {
1232 fingerprint,
1233 _phantom: core::marker::PhantomData,
1234 }
1235 }
1236}
1237
1238pub trait LiteralResolver<H: HostTypes> {
1244 fn resolve(&self, handle: LiteralHandle<H>) -> Option<LiteralRecord<H>>;
1247}
1248
1249#[derive(Clone, Debug, PartialEq, Eq, Hash)]
1255pub struct LiteralRecord<H: HostTypes> {
1256 pub denotes_handle: DatumHandle<H>,
1257 #[doc(hidden)]
1258 pub _phantom: core::marker::PhantomData<H>,
1259}
1260
1261pub struct ResolvedLiteral<'r, R: LiteralResolver<H>, H: HostTypes> {
1269 handle: LiteralHandle<H>,
1270 resolver: &'r R,
1271 record: Option<LiteralRecord<H>>,
1272}
1273impl<'r, R: LiteralResolver<H>, H: HostTypes> ResolvedLiteral<'r, R, H> {
1274 #[inline]
1276 pub fn new(handle: LiteralHandle<H>, resolver: &'r R) -> Self {
1277 let record = resolver.resolve(handle);
1278 Self {
1279 handle,
1280 resolver,
1281 record,
1282 }
1283 }
1284 #[inline]
1286 #[must_use]
1287 pub const fn handle(&self) -> LiteralHandle<H> {
1288 self.handle
1289 }
1290 #[inline]
1292 #[must_use]
1293 pub const fn resolver(&self) -> &'r R {
1294 self.resolver
1295 }
1296 #[inline]
1298 #[must_use]
1299 pub const fn record(&self) -> Option<&LiteralRecord<H>> {
1300 self.record.as_ref()
1301 }
1302}
1303impl<'r, R: LiteralResolver<H>, H: HostTypes> Term<H> for ResolvedLiteral<'r, R, H> {}
1304impl<'r, R: LiteralResolver<H>, H: HostTypes> SurfaceSymbol<H> for ResolvedLiteral<'r, R, H> {}
1305impl<'r, R: LiteralResolver<H>, H: HostTypes> Literal<H> for ResolvedLiteral<'r, R, H> {
1306 type Datum = NullDatum<H>;
1307 fn denotes(&self) -> &Self::Datum {
1308 &<NullDatum<H>>::ABSENT
1309 }
1310}
1311impl<'r, R: LiteralResolver<H>, H: HostTypes> ResolvedLiteral<'r, R, H> {
1312 #[inline]
1316 pub fn resolve_denotes<'r2, R2: DatumResolver<H>>(
1317 &self,
1318 r: &'r2 R2,
1319 ) -> Option<ResolvedDatum<'r2, R2, H>> {
1320 let record = self.record.as_ref()?;
1321 Some(ResolvedDatum::new(record.denotes_handle, r))
1322 }
1323}
1324
1325#[derive(Debug)]
1330pub struct ApplicationHandle<H: HostTypes> {
1331 pub fingerprint: crate::enforcement::ContentFingerprint,
1333 _phantom: core::marker::PhantomData<H>,
1334}
1335impl<H: HostTypes> Copy for ApplicationHandle<H> {}
1336impl<H: HostTypes> Clone for ApplicationHandle<H> {
1337 #[inline]
1338 fn clone(&self) -> Self {
1339 *self
1340 }
1341}
1342impl<H: HostTypes> PartialEq for ApplicationHandle<H> {
1343 #[inline]
1344 fn eq(&self, other: &Self) -> bool {
1345 self.fingerprint == other.fingerprint
1346 }
1347}
1348impl<H: HostTypes> Eq for ApplicationHandle<H> {}
1349impl<H: HostTypes> core::hash::Hash for ApplicationHandle<H> {
1350 #[inline]
1351 fn hash<S: core::hash::Hasher>(&self, state: &mut S) {
1352 self.fingerprint.hash(state);
1353 }
1354}
1355impl<H: HostTypes> ApplicationHandle<H> {
1356 #[inline]
1358 #[must_use]
1359 pub const fn new(fingerprint: crate::enforcement::ContentFingerprint) -> Self {
1360 Self {
1361 fingerprint,
1362 _phantom: core::marker::PhantomData,
1363 }
1364 }
1365}
1366
1367pub trait ApplicationResolver<H: HostTypes> {
1373 fn resolve(&self, handle: ApplicationHandle<H>) -> Option<ApplicationRecord<H>>;
1376}
1377
1378#[derive(Clone, Debug, PartialEq, Eq, Hash)]
1384pub struct ApplicationRecord<H: HostTypes> {
1385 pub operator_handle: crate::kernel::op::OperationHandle<H>,
1386 #[doc(hidden)]
1387 pub _phantom: core::marker::PhantomData<H>,
1388}
1389
1390pub struct ResolvedApplication<'r, R: ApplicationResolver<H>, H: HostTypes> {
1398 handle: ApplicationHandle<H>,
1399 resolver: &'r R,
1400 record: Option<ApplicationRecord<H>>,
1401}
1402impl<'r, R: ApplicationResolver<H>, H: HostTypes> ResolvedApplication<'r, R, H> {
1403 #[inline]
1405 pub fn new(handle: ApplicationHandle<H>, resolver: &'r R) -> Self {
1406 let record = resolver.resolve(handle);
1407 Self {
1408 handle,
1409 resolver,
1410 record,
1411 }
1412 }
1413 #[inline]
1415 #[must_use]
1416 pub const fn handle(&self) -> ApplicationHandle<H> {
1417 self.handle
1418 }
1419 #[inline]
1421 #[must_use]
1422 pub const fn resolver(&self) -> &'r R {
1423 self.resolver
1424 }
1425 #[inline]
1427 #[must_use]
1428 pub const fn record(&self) -> Option<&ApplicationRecord<H>> {
1429 self.record.as_ref()
1430 }
1431}
1432impl<'r, R: ApplicationResolver<H>, H: HostTypes> Term<H> for ResolvedApplication<'r, R, H> {}
1433impl<'r, R: ApplicationResolver<H>, H: HostTypes> Application<H> for ResolvedApplication<'r, R, H> {
1434 type Operation = crate::kernel::op::NullOperation<H>;
1435 fn operator(&self) -> &Self::Operation {
1436 &<crate::kernel::op::NullOperation<H>>::ABSENT
1437 }
1438 type Term = NullTerm<H>;
1439 fn argument(&self) -> &[Self::Term] {
1440 &[]
1441 }
1442}
1443impl<'r, R: ApplicationResolver<H>, H: HostTypes> ResolvedApplication<'r, R, H> {
1444 #[inline]
1448 pub fn resolve_operator<'r2, R2: crate::kernel::op::OperationResolver<H>>(
1449 &self,
1450 r: &'r2 R2,
1451 ) -> Option<crate::kernel::op::ResolvedOperation<'r2, R2, H>> {
1452 let record = self.record.as_ref()?;
1453 Some(crate::kernel::op::ResolvedOperation::new(
1454 record.operator_handle,
1455 r,
1456 ))
1457 }
1458}
1459
1460#[derive(Debug)]
1465pub struct RingHandle<H: HostTypes> {
1466 pub fingerprint: crate::enforcement::ContentFingerprint,
1468 _phantom: core::marker::PhantomData<H>,
1469}
1470impl<H: HostTypes> Copy for RingHandle<H> {}
1471impl<H: HostTypes> Clone for RingHandle<H> {
1472 #[inline]
1473 fn clone(&self) -> Self {
1474 *self
1475 }
1476}
1477impl<H: HostTypes> PartialEq for RingHandle<H> {
1478 #[inline]
1479 fn eq(&self, other: &Self) -> bool {
1480 self.fingerprint == other.fingerprint
1481 }
1482}
1483impl<H: HostTypes> Eq for RingHandle<H> {}
1484impl<H: HostTypes> core::hash::Hash for RingHandle<H> {
1485 #[inline]
1486 fn hash<S: core::hash::Hasher>(&self, state: &mut S) {
1487 self.fingerprint.hash(state);
1488 }
1489}
1490impl<H: HostTypes> RingHandle<H> {
1491 #[inline]
1493 #[must_use]
1494 pub const fn new(fingerprint: crate::enforcement::ContentFingerprint) -> Self {
1495 Self {
1496 fingerprint,
1497 _phantom: core::marker::PhantomData,
1498 }
1499 }
1500}
1501
1502pub trait RingResolver<H: HostTypes> {
1508 fn resolve(&self, handle: RingHandle<H>) -> Option<RingRecord<H>>;
1511}
1512
1513#[derive(Clone, Debug, PartialEq, Eq, Hash)]
1519pub struct RingRecord<H: HostTypes> {
1520 pub ring_witt_length: u64,
1521 pub modulus: u64,
1522 pub generator_handle: DatumHandle<H>,
1523 pub negation_handle: crate::kernel::op::InvolutionHandle<H>,
1524 pub complement_handle: crate::kernel::op::InvolutionHandle<H>,
1525 pub at_witt_level: WittLevel,
1526 #[doc(hidden)]
1527 pub _phantom: core::marker::PhantomData<H>,
1528}
1529
1530pub struct ResolvedRing<'r, R: RingResolver<H>, H: HostTypes> {
1538 handle: RingHandle<H>,
1539 resolver: &'r R,
1540 record: Option<RingRecord<H>>,
1541}
1542impl<'r, R: RingResolver<H>, H: HostTypes> ResolvedRing<'r, R, H> {
1543 #[inline]
1545 pub fn new(handle: RingHandle<H>, resolver: &'r R) -> Self {
1546 let record = resolver.resolve(handle);
1547 Self {
1548 handle,
1549 resolver,
1550 record,
1551 }
1552 }
1553 #[inline]
1555 #[must_use]
1556 pub const fn handle(&self) -> RingHandle<H> {
1557 self.handle
1558 }
1559 #[inline]
1561 #[must_use]
1562 pub const fn resolver(&self) -> &'r R {
1563 self.resolver
1564 }
1565 #[inline]
1567 #[must_use]
1568 pub const fn record(&self) -> Option<&RingRecord<H>> {
1569 self.record.as_ref()
1570 }
1571}
1572impl<'r, R: RingResolver<H>, H: HostTypes> Ring<H> for ResolvedRing<'r, R, H> {
1573 fn ring_witt_length(&self) -> u64 {
1574 match &self.record {
1575 Some(r) => r.ring_witt_length,
1576 None => 0,
1577 }
1578 }
1579 fn modulus(&self) -> u64 {
1580 match &self.record {
1581 Some(r) => r.modulus,
1582 None => 0,
1583 }
1584 }
1585 type Datum = NullDatum<H>;
1586 fn generator(&self) -> &Self::Datum {
1587 &<NullDatum<H>>::ABSENT
1588 }
1589 type Involution = crate::kernel::op::NullInvolution<H>;
1590 fn negation(&self) -> &Self::Involution {
1591 &<crate::kernel::op::NullInvolution<H>>::ABSENT
1592 }
1593 fn complement(&self) -> &Self::Involution {
1594 &<crate::kernel::op::NullInvolution<H>>::ABSENT
1595 }
1596 fn at_witt_level(&self) -> WittLevel {
1597 match &self.record {
1598 Some(r) => r.at_witt_level,
1599 None => <WittLevel>::default(),
1600 }
1601 }
1602}
1603impl<'r, R: RingResolver<H>, H: HostTypes> ResolvedRing<'r, R, H> {
1604 #[inline]
1608 pub fn resolve_generator<'r2, R2: DatumResolver<H>>(
1609 &self,
1610 r: &'r2 R2,
1611 ) -> Option<ResolvedDatum<'r2, R2, H>> {
1612 let record = self.record.as_ref()?;
1613 Some(ResolvedDatum::new(record.generator_handle, r))
1614 }
1615 #[inline]
1619 pub fn resolve_negation<'r2, R2: crate::kernel::op::InvolutionResolver<H>>(
1620 &self,
1621 r: &'r2 R2,
1622 ) -> Option<crate::kernel::op::ResolvedInvolution<'r2, R2, H>> {
1623 let record = self.record.as_ref()?;
1624 Some(crate::kernel::op::ResolvedInvolution::new(
1625 record.negation_handle,
1626 r,
1627 ))
1628 }
1629 #[inline]
1633 pub fn resolve_complement<'r2, R2: crate::kernel::op::InvolutionResolver<H>>(
1634 &self,
1635 r: &'r2 R2,
1636 ) -> Option<crate::kernel::op::ResolvedInvolution<'r2, R2, H>> {
1637 let record = self.record.as_ref()?;
1638 Some(crate::kernel::op::ResolvedInvolution::new(
1639 record.complement_handle,
1640 r,
1641 ))
1642 }
1643}
1644
1645#[derive(Debug)]
1650pub struct W16RingHandle<H: HostTypes> {
1651 pub fingerprint: crate::enforcement::ContentFingerprint,
1653 _phantom: core::marker::PhantomData<H>,
1654}
1655impl<H: HostTypes> Copy for W16RingHandle<H> {}
1656impl<H: HostTypes> Clone for W16RingHandle<H> {
1657 #[inline]
1658 fn clone(&self) -> Self {
1659 *self
1660 }
1661}
1662impl<H: HostTypes> PartialEq for W16RingHandle<H> {
1663 #[inline]
1664 fn eq(&self, other: &Self) -> bool {
1665 self.fingerprint == other.fingerprint
1666 }
1667}
1668impl<H: HostTypes> Eq for W16RingHandle<H> {}
1669impl<H: HostTypes> core::hash::Hash for W16RingHandle<H> {
1670 #[inline]
1671 fn hash<S: core::hash::Hasher>(&self, state: &mut S) {
1672 self.fingerprint.hash(state);
1673 }
1674}
1675impl<H: HostTypes> W16RingHandle<H> {
1676 #[inline]
1678 #[must_use]
1679 pub const fn new(fingerprint: crate::enforcement::ContentFingerprint) -> Self {
1680 Self {
1681 fingerprint,
1682 _phantom: core::marker::PhantomData,
1683 }
1684 }
1685}
1686
1687pub trait W16RingResolver<H: HostTypes> {
1693 fn resolve(&self, handle: W16RingHandle<H>) -> Option<W16RingRecord<H>>;
1696}
1697
1698#[derive(Clone, Debug, PartialEq, Eq, Hash)]
1704pub struct W16RingRecord<H: HostTypes> {
1705 pub w16bit_width: u64,
1706 pub w16capacity: u64,
1707 #[doc(hidden)]
1708 pub _phantom: core::marker::PhantomData<H>,
1709}
1710
1711pub struct ResolvedW16Ring<'r, R: W16RingResolver<H>, H: HostTypes> {
1719 handle: W16RingHandle<H>,
1720 resolver: &'r R,
1721 record: Option<W16RingRecord<H>>,
1722}
1723impl<'r, R: W16RingResolver<H>, H: HostTypes> ResolvedW16Ring<'r, R, H> {
1724 #[inline]
1726 pub fn new(handle: W16RingHandle<H>, resolver: &'r R) -> Self {
1727 let record = resolver.resolve(handle);
1728 Self {
1729 handle,
1730 resolver,
1731 record,
1732 }
1733 }
1734 #[inline]
1736 #[must_use]
1737 pub const fn handle(&self) -> W16RingHandle<H> {
1738 self.handle
1739 }
1740 #[inline]
1742 #[must_use]
1743 pub const fn resolver(&self) -> &'r R {
1744 self.resolver
1745 }
1746 #[inline]
1748 #[must_use]
1749 pub const fn record(&self) -> Option<&W16RingRecord<H>> {
1750 self.record.as_ref()
1751 }
1752}
1753impl<'r, R: W16RingResolver<H>, H: HostTypes> Ring<H> for ResolvedW16Ring<'r, R, H> {
1754 fn ring_witt_length(&self) -> u64 {
1755 0
1756 }
1757 fn modulus(&self) -> u64 {
1758 0
1759 }
1760 type Datum = NullDatum<H>;
1761 fn generator(&self) -> &Self::Datum {
1762 &<NullDatum<H>>::ABSENT
1763 }
1764 type Involution = crate::kernel::op::NullInvolution<H>;
1765 fn negation(&self) -> &Self::Involution {
1766 &<crate::kernel::op::NullInvolution<H>>::ABSENT
1767 }
1768 fn complement(&self) -> &Self::Involution {
1769 &<crate::kernel::op::NullInvolution<H>>::ABSENT
1770 }
1771 fn at_witt_level(&self) -> WittLevel {
1772 <WittLevel>::default()
1773 }
1774}
1775impl<'r, R: W16RingResolver<H>, H: HostTypes> W16Ring<H> for ResolvedW16Ring<'r, R, H> {
1776 fn w16bit_width(&self) -> u64 {
1777 match &self.record {
1778 Some(r) => r.w16bit_width,
1779 None => 0,
1780 }
1781 }
1782 fn w16capacity(&self) -> u64 {
1783 match &self.record {
1784 Some(r) => r.w16capacity,
1785 None => 0,
1786 }
1787 }
1788}
1789
1790#[derive(Debug)]
1795pub struct TermExpressionHandle<H: HostTypes> {
1796 pub fingerprint: crate::enforcement::ContentFingerprint,
1798 _phantom: core::marker::PhantomData<H>,
1799}
1800impl<H: HostTypes> Copy for TermExpressionHandle<H> {}
1801impl<H: HostTypes> Clone for TermExpressionHandle<H> {
1802 #[inline]
1803 fn clone(&self) -> Self {
1804 *self
1805 }
1806}
1807impl<H: HostTypes> PartialEq for TermExpressionHandle<H> {
1808 #[inline]
1809 fn eq(&self, other: &Self) -> bool {
1810 self.fingerprint == other.fingerprint
1811 }
1812}
1813impl<H: HostTypes> Eq for TermExpressionHandle<H> {}
1814impl<H: HostTypes> core::hash::Hash for TermExpressionHandle<H> {
1815 #[inline]
1816 fn hash<S: core::hash::Hasher>(&self, state: &mut S) {
1817 self.fingerprint.hash(state);
1818 }
1819}
1820impl<H: HostTypes> TermExpressionHandle<H> {
1821 #[inline]
1823 #[must_use]
1824 pub const fn new(fingerprint: crate::enforcement::ContentFingerprint) -> Self {
1825 Self {
1826 fingerprint,
1827 _phantom: core::marker::PhantomData,
1828 }
1829 }
1830}
1831
1832pub trait TermExpressionResolver<H: HostTypes> {
1838 fn resolve(&self, handle: TermExpressionHandle<H>) -> Option<TermExpressionRecord<H>>;
1841}
1842
1843#[derive(Clone, Debug, PartialEq, Eq, Hash)]
1849pub struct TermExpressionRecord<H: HostTypes> {
1850 #[doc(hidden)]
1851 pub _phantom: core::marker::PhantomData<H>,
1852}
1853
1854pub struct ResolvedTermExpression<'r, R: TermExpressionResolver<H>, H: HostTypes> {
1862 handle: TermExpressionHandle<H>,
1863 resolver: &'r R,
1864 record: Option<TermExpressionRecord<H>>,
1865}
1866impl<'r, R: TermExpressionResolver<H>, H: HostTypes> ResolvedTermExpression<'r, R, H> {
1867 #[inline]
1869 pub fn new(handle: TermExpressionHandle<H>, resolver: &'r R) -> Self {
1870 let record = resolver.resolve(handle);
1871 Self {
1872 handle,
1873 resolver,
1874 record,
1875 }
1876 }
1877 #[inline]
1879 #[must_use]
1880 pub const fn handle(&self) -> TermExpressionHandle<H> {
1881 self.handle
1882 }
1883 #[inline]
1885 #[must_use]
1886 pub const fn resolver(&self) -> &'r R {
1887 self.resolver
1888 }
1889 #[inline]
1891 #[must_use]
1892 pub const fn record(&self) -> Option<&TermExpressionRecord<H>> {
1893 self.record.as_ref()
1894 }
1895}
1896impl<'r, R: TermExpressionResolver<H>, H: HostTypes> TermExpression<H>
1897 for ResolvedTermExpression<'r, R, H>
1898{
1899}
1900
1901#[derive(Debug)]
1906pub struct LiteralExpressionHandle<H: HostTypes> {
1907 pub fingerprint: crate::enforcement::ContentFingerprint,
1909 _phantom: core::marker::PhantomData<H>,
1910}
1911impl<H: HostTypes> Copy for LiteralExpressionHandle<H> {}
1912impl<H: HostTypes> Clone for LiteralExpressionHandle<H> {
1913 #[inline]
1914 fn clone(&self) -> Self {
1915 *self
1916 }
1917}
1918impl<H: HostTypes> PartialEq for LiteralExpressionHandle<H> {
1919 #[inline]
1920 fn eq(&self, other: &Self) -> bool {
1921 self.fingerprint == other.fingerprint
1922 }
1923}
1924impl<H: HostTypes> Eq for LiteralExpressionHandle<H> {}
1925impl<H: HostTypes> core::hash::Hash for LiteralExpressionHandle<H> {
1926 #[inline]
1927 fn hash<S: core::hash::Hasher>(&self, state: &mut S) {
1928 self.fingerprint.hash(state);
1929 }
1930}
1931impl<H: HostTypes> LiteralExpressionHandle<H> {
1932 #[inline]
1934 #[must_use]
1935 pub const fn new(fingerprint: crate::enforcement::ContentFingerprint) -> Self {
1936 Self {
1937 fingerprint,
1938 _phantom: core::marker::PhantomData,
1939 }
1940 }
1941}
1942
1943pub trait LiteralExpressionResolver<H: HostTypes> {
1949 fn resolve(&self, handle: LiteralExpressionHandle<H>) -> Option<LiteralExpressionRecord<H>>;
1952}
1953
1954#[derive(Clone, Debug, PartialEq, Eq, Hash)]
1960pub struct LiteralExpressionRecord<H: HostTypes> {
1961 pub literal_value: &'static H::HostString,
1962 #[doc(hidden)]
1963 pub _phantom: core::marker::PhantomData<H>,
1964}
1965
1966pub struct ResolvedLiteralExpression<'r, R: LiteralExpressionResolver<H>, H: HostTypes> {
1974 handle: LiteralExpressionHandle<H>,
1975 resolver: &'r R,
1976 record: Option<LiteralExpressionRecord<H>>,
1977}
1978impl<'r, R: LiteralExpressionResolver<H>, H: HostTypes> ResolvedLiteralExpression<'r, R, H> {
1979 #[inline]
1981 pub fn new(handle: LiteralExpressionHandle<H>, resolver: &'r R) -> Self {
1982 let record = resolver.resolve(handle);
1983 Self {
1984 handle,
1985 resolver,
1986 record,
1987 }
1988 }
1989 #[inline]
1991 #[must_use]
1992 pub const fn handle(&self) -> LiteralExpressionHandle<H> {
1993 self.handle
1994 }
1995 #[inline]
1997 #[must_use]
1998 pub const fn resolver(&self) -> &'r R {
1999 self.resolver
2000 }
2001 #[inline]
2003 #[must_use]
2004 pub const fn record(&self) -> Option<&LiteralExpressionRecord<H>> {
2005 self.record.as_ref()
2006 }
2007}
2008impl<'r, R: LiteralExpressionResolver<H>, H: HostTypes> TermExpression<H>
2009 for ResolvedLiteralExpression<'r, R, H>
2010{
2011}
2012impl<'r, R: LiteralExpressionResolver<H>, H: HostTypes> LiteralExpression<H>
2013 for ResolvedLiteralExpression<'r, R, H>
2014{
2015 fn literal_value(&self) -> &H::HostString {
2016 match &self.record {
2017 Some(r) => r.literal_value,
2018 None => H::EMPTY_HOST_STRING,
2019 }
2020 }
2021}
2022
2023#[derive(Debug)]
2028pub struct ApplicationExpressionHandle<H: HostTypes> {
2029 pub fingerprint: crate::enforcement::ContentFingerprint,
2031 _phantom: core::marker::PhantomData<H>,
2032}
2033impl<H: HostTypes> Copy for ApplicationExpressionHandle<H> {}
2034impl<H: HostTypes> Clone for ApplicationExpressionHandle<H> {
2035 #[inline]
2036 fn clone(&self) -> Self {
2037 *self
2038 }
2039}
2040impl<H: HostTypes> PartialEq for ApplicationExpressionHandle<H> {
2041 #[inline]
2042 fn eq(&self, other: &Self) -> bool {
2043 self.fingerprint == other.fingerprint
2044 }
2045}
2046impl<H: HostTypes> Eq for ApplicationExpressionHandle<H> {}
2047impl<H: HostTypes> core::hash::Hash for ApplicationExpressionHandle<H> {
2048 #[inline]
2049 fn hash<S: core::hash::Hasher>(&self, state: &mut S) {
2050 self.fingerprint.hash(state);
2051 }
2052}
2053impl<H: HostTypes> ApplicationExpressionHandle<H> {
2054 #[inline]
2056 #[must_use]
2057 pub const fn new(fingerprint: crate::enforcement::ContentFingerprint) -> Self {
2058 Self {
2059 fingerprint,
2060 _phantom: core::marker::PhantomData,
2061 }
2062 }
2063}
2064
2065pub trait ApplicationExpressionResolver<H: HostTypes> {
2071 fn resolve(
2074 &self,
2075 handle: ApplicationExpressionHandle<H>,
2076 ) -> Option<ApplicationExpressionRecord<H>>;
2077}
2078
2079#[derive(Clone, Debug, PartialEq, Eq, Hash)]
2085pub struct ApplicationExpressionRecord<H: HostTypes> {
2086 pub expression_operator_handle: crate::kernel::op::OperationHandle<H>,
2087 #[doc(hidden)]
2088 pub _phantom: core::marker::PhantomData<H>,
2089}
2090
2091pub struct ResolvedApplicationExpression<'r, R: ApplicationExpressionResolver<H>, H: HostTypes> {
2099 handle: ApplicationExpressionHandle<H>,
2100 resolver: &'r R,
2101 record: Option<ApplicationExpressionRecord<H>>,
2102}
2103impl<'r, R: ApplicationExpressionResolver<H>, H: HostTypes>
2104 ResolvedApplicationExpression<'r, R, H>
2105{
2106 #[inline]
2108 pub fn new(handle: ApplicationExpressionHandle<H>, resolver: &'r R) -> Self {
2109 let record = resolver.resolve(handle);
2110 Self {
2111 handle,
2112 resolver,
2113 record,
2114 }
2115 }
2116 #[inline]
2118 #[must_use]
2119 pub const fn handle(&self) -> ApplicationExpressionHandle<H> {
2120 self.handle
2121 }
2122 #[inline]
2124 #[must_use]
2125 pub const fn resolver(&self) -> &'r R {
2126 self.resolver
2127 }
2128 #[inline]
2130 #[must_use]
2131 pub const fn record(&self) -> Option<&ApplicationExpressionRecord<H>> {
2132 self.record.as_ref()
2133 }
2134}
2135impl<'r, R: ApplicationExpressionResolver<H>, H: HostTypes> TermExpression<H>
2136 for ResolvedApplicationExpression<'r, R, H>
2137{
2138}
2139impl<'r, R: ApplicationExpressionResolver<H>, H: HostTypes> ApplicationExpression<H>
2140 for ResolvedApplicationExpression<'r, R, H>
2141{
2142 type Operation = crate::kernel::op::NullOperation<H>;
2143 fn expression_operator(&self) -> &Self::Operation {
2144 &<crate::kernel::op::NullOperation<H>>::ABSENT
2145 }
2146 type TermExpression = NullTermExpression<H>;
2147 fn arguments(&self) -> &[Self::TermExpression] {
2148 &[]
2149 }
2150}
2151impl<'r, R: ApplicationExpressionResolver<H>, H: HostTypes>
2152 ResolvedApplicationExpression<'r, R, H>
2153{
2154 #[inline]
2158 pub fn resolve_expression_operator<'r2, R2: crate::kernel::op::OperationResolver<H>>(
2159 &self,
2160 r: &'r2 R2,
2161 ) -> Option<crate::kernel::op::ResolvedOperation<'r2, R2, H>> {
2162 let record = self.record.as_ref()?;
2163 Some(crate::kernel::op::ResolvedOperation::new(
2164 record.expression_operator_handle,
2165 r,
2166 ))
2167 }
2168}
2169
2170#[derive(Debug)]
2175pub struct InfixExpressionHandle<H: HostTypes> {
2176 pub fingerprint: crate::enforcement::ContentFingerprint,
2178 _phantom: core::marker::PhantomData<H>,
2179}
2180impl<H: HostTypes> Copy for InfixExpressionHandle<H> {}
2181impl<H: HostTypes> Clone for InfixExpressionHandle<H> {
2182 #[inline]
2183 fn clone(&self) -> Self {
2184 *self
2185 }
2186}
2187impl<H: HostTypes> PartialEq for InfixExpressionHandle<H> {
2188 #[inline]
2189 fn eq(&self, other: &Self) -> bool {
2190 self.fingerprint == other.fingerprint
2191 }
2192}
2193impl<H: HostTypes> Eq for InfixExpressionHandle<H> {}
2194impl<H: HostTypes> core::hash::Hash for InfixExpressionHandle<H> {
2195 #[inline]
2196 fn hash<S: core::hash::Hasher>(&self, state: &mut S) {
2197 self.fingerprint.hash(state);
2198 }
2199}
2200impl<H: HostTypes> InfixExpressionHandle<H> {
2201 #[inline]
2203 #[must_use]
2204 pub const fn new(fingerprint: crate::enforcement::ContentFingerprint) -> Self {
2205 Self {
2206 fingerprint,
2207 _phantom: core::marker::PhantomData,
2208 }
2209 }
2210}
2211
2212pub trait InfixExpressionResolver<H: HostTypes> {
2218 fn resolve(&self, handle: InfixExpressionHandle<H>) -> Option<InfixExpressionRecord<H>>;
2221}
2222
2223#[derive(Clone, Debug, PartialEq, Eq, Hash)]
2229pub struct InfixExpressionRecord<H: HostTypes> {
2230 pub left_operand_handle: TermExpressionHandle<H>,
2231 pub right_operand_handle: TermExpressionHandle<H>,
2232 pub infix_operator: &'static H::HostString,
2233 #[doc(hidden)]
2234 pub _phantom: core::marker::PhantomData<H>,
2235}
2236
2237pub struct ResolvedInfixExpression<'r, R: InfixExpressionResolver<H>, H: HostTypes> {
2245 handle: InfixExpressionHandle<H>,
2246 resolver: &'r R,
2247 record: Option<InfixExpressionRecord<H>>,
2248}
2249impl<'r, R: InfixExpressionResolver<H>, H: HostTypes> ResolvedInfixExpression<'r, R, H> {
2250 #[inline]
2252 pub fn new(handle: InfixExpressionHandle<H>, resolver: &'r R) -> Self {
2253 let record = resolver.resolve(handle);
2254 Self {
2255 handle,
2256 resolver,
2257 record,
2258 }
2259 }
2260 #[inline]
2262 #[must_use]
2263 pub const fn handle(&self) -> InfixExpressionHandle<H> {
2264 self.handle
2265 }
2266 #[inline]
2268 #[must_use]
2269 pub const fn resolver(&self) -> &'r R {
2270 self.resolver
2271 }
2272 #[inline]
2274 #[must_use]
2275 pub const fn record(&self) -> Option<&InfixExpressionRecord<H>> {
2276 self.record.as_ref()
2277 }
2278}
2279impl<'r, R: InfixExpressionResolver<H>, H: HostTypes> TermExpression<H>
2280 for ResolvedInfixExpression<'r, R, H>
2281{
2282}
2283impl<'r, R: InfixExpressionResolver<H>, H: HostTypes> InfixExpression<H>
2284 for ResolvedInfixExpression<'r, R, H>
2285{
2286 type TermExpression = NullTermExpression<H>;
2287 fn left_operand(&self) -> &Self::TermExpression {
2288 &<NullTermExpression<H>>::ABSENT
2289 }
2290 fn right_operand(&self) -> &Self::TermExpression {
2291 &<NullTermExpression<H>>::ABSENT
2292 }
2293 fn infix_operator(&self) -> &H::HostString {
2294 match &self.record {
2295 Some(r) => r.infix_operator,
2296 None => H::EMPTY_HOST_STRING,
2297 }
2298 }
2299}
2300impl<'r, R: InfixExpressionResolver<H>, H: HostTypes> ResolvedInfixExpression<'r, R, H> {
2301 #[inline]
2305 pub fn resolve_left_operand<'r2, R2: TermExpressionResolver<H>>(
2306 &self,
2307 r: &'r2 R2,
2308 ) -> Option<ResolvedTermExpression<'r2, R2, H>> {
2309 let record = self.record.as_ref()?;
2310 Some(ResolvedTermExpression::new(record.left_operand_handle, r))
2311 }
2312 #[inline]
2316 pub fn resolve_right_operand<'r2, R2: TermExpressionResolver<H>>(
2317 &self,
2318 r: &'r2 R2,
2319 ) -> Option<ResolvedTermExpression<'r2, R2, H>> {
2320 let record = self.record.as_ref()?;
2321 Some(ResolvedTermExpression::new(record.right_operand_handle, r))
2322 }
2323}
2324
2325#[derive(Debug)]
2330pub struct SetExpressionHandle<H: HostTypes> {
2331 pub fingerprint: crate::enforcement::ContentFingerprint,
2333 _phantom: core::marker::PhantomData<H>,
2334}
2335impl<H: HostTypes> Copy for SetExpressionHandle<H> {}
2336impl<H: HostTypes> Clone for SetExpressionHandle<H> {
2337 #[inline]
2338 fn clone(&self) -> Self {
2339 *self
2340 }
2341}
2342impl<H: HostTypes> PartialEq for SetExpressionHandle<H> {
2343 #[inline]
2344 fn eq(&self, other: &Self) -> bool {
2345 self.fingerprint == other.fingerprint
2346 }
2347}
2348impl<H: HostTypes> Eq for SetExpressionHandle<H> {}
2349impl<H: HostTypes> core::hash::Hash for SetExpressionHandle<H> {
2350 #[inline]
2351 fn hash<S: core::hash::Hasher>(&self, state: &mut S) {
2352 self.fingerprint.hash(state);
2353 }
2354}
2355impl<H: HostTypes> SetExpressionHandle<H> {
2356 #[inline]
2358 #[must_use]
2359 pub const fn new(fingerprint: crate::enforcement::ContentFingerprint) -> Self {
2360 Self {
2361 fingerprint,
2362 _phantom: core::marker::PhantomData,
2363 }
2364 }
2365}
2366
2367pub trait SetExpressionResolver<H: HostTypes> {
2373 fn resolve(&self, handle: SetExpressionHandle<H>) -> Option<SetExpressionRecord<H>>;
2376}
2377
2378#[derive(Clone, Debug, PartialEq, Eq, Hash)]
2384pub struct SetExpressionRecord<H: HostTypes> {
2385 #[doc(hidden)]
2386 pub _phantom: core::marker::PhantomData<H>,
2387}
2388
2389pub struct ResolvedSetExpression<'r, R: SetExpressionResolver<H>, H: HostTypes> {
2397 handle: SetExpressionHandle<H>,
2398 resolver: &'r R,
2399 record: Option<SetExpressionRecord<H>>,
2400}
2401impl<'r, R: SetExpressionResolver<H>, H: HostTypes> ResolvedSetExpression<'r, R, H> {
2402 #[inline]
2404 pub fn new(handle: SetExpressionHandle<H>, resolver: &'r R) -> Self {
2405 let record = resolver.resolve(handle);
2406 Self {
2407 handle,
2408 resolver,
2409 record,
2410 }
2411 }
2412 #[inline]
2414 #[must_use]
2415 pub const fn handle(&self) -> SetExpressionHandle<H> {
2416 self.handle
2417 }
2418 #[inline]
2420 #[must_use]
2421 pub const fn resolver(&self) -> &'r R {
2422 self.resolver
2423 }
2424 #[inline]
2426 #[must_use]
2427 pub const fn record(&self) -> Option<&SetExpressionRecord<H>> {
2428 self.record.as_ref()
2429 }
2430}
2431impl<'r, R: SetExpressionResolver<H>, H: HostTypes> TermExpression<H>
2432 for ResolvedSetExpression<'r, R, H>
2433{
2434}
2435impl<'r, R: SetExpressionResolver<H>, H: HostTypes> SetExpression<H>
2436 for ResolvedSetExpression<'r, R, H>
2437{
2438}
2439
2440#[derive(Debug)]
2445pub struct CompositionExpressionHandle<H: HostTypes> {
2446 pub fingerprint: crate::enforcement::ContentFingerprint,
2448 _phantom: core::marker::PhantomData<H>,
2449}
2450impl<H: HostTypes> Copy for CompositionExpressionHandle<H> {}
2451impl<H: HostTypes> Clone for CompositionExpressionHandle<H> {
2452 #[inline]
2453 fn clone(&self) -> Self {
2454 *self
2455 }
2456}
2457impl<H: HostTypes> PartialEq for CompositionExpressionHandle<H> {
2458 #[inline]
2459 fn eq(&self, other: &Self) -> bool {
2460 self.fingerprint == other.fingerprint
2461 }
2462}
2463impl<H: HostTypes> Eq for CompositionExpressionHandle<H> {}
2464impl<H: HostTypes> core::hash::Hash for CompositionExpressionHandle<H> {
2465 #[inline]
2466 fn hash<S: core::hash::Hasher>(&self, state: &mut S) {
2467 self.fingerprint.hash(state);
2468 }
2469}
2470impl<H: HostTypes> CompositionExpressionHandle<H> {
2471 #[inline]
2473 #[must_use]
2474 pub const fn new(fingerprint: crate::enforcement::ContentFingerprint) -> Self {
2475 Self {
2476 fingerprint,
2477 _phantom: core::marker::PhantomData,
2478 }
2479 }
2480}
2481
2482pub trait CompositionExpressionResolver<H: HostTypes> {
2488 fn resolve(
2491 &self,
2492 handle: CompositionExpressionHandle<H>,
2493 ) -> Option<CompositionExpressionRecord<H>>;
2494}
2495
2496#[derive(Clone, Debug, PartialEq, Eq, Hash)]
2502pub struct CompositionExpressionRecord<H: HostTypes> {
2503 #[doc(hidden)]
2504 pub _phantom: core::marker::PhantomData<H>,
2505}
2506
2507pub struct ResolvedCompositionExpression<'r, R: CompositionExpressionResolver<H>, H: HostTypes> {
2515 handle: CompositionExpressionHandle<H>,
2516 resolver: &'r R,
2517 record: Option<CompositionExpressionRecord<H>>,
2518}
2519impl<'r, R: CompositionExpressionResolver<H>, H: HostTypes>
2520 ResolvedCompositionExpression<'r, R, H>
2521{
2522 #[inline]
2524 pub fn new(handle: CompositionExpressionHandle<H>, resolver: &'r R) -> Self {
2525 let record = resolver.resolve(handle);
2526 Self {
2527 handle,
2528 resolver,
2529 record,
2530 }
2531 }
2532 #[inline]
2534 #[must_use]
2535 pub const fn handle(&self) -> CompositionExpressionHandle<H> {
2536 self.handle
2537 }
2538 #[inline]
2540 #[must_use]
2541 pub const fn resolver(&self) -> &'r R {
2542 self.resolver
2543 }
2544 #[inline]
2546 #[must_use]
2547 pub const fn record(&self) -> Option<&CompositionExpressionRecord<H>> {
2548 self.record.as_ref()
2549 }
2550}
2551impl<'r, R: CompositionExpressionResolver<H>, H: HostTypes> TermExpression<H>
2552 for ResolvedCompositionExpression<'r, R, H>
2553{
2554}
2555impl<'r, R: CompositionExpressionResolver<H>, H: HostTypes> CompositionExpression<H>
2556 for ResolvedCompositionExpression<'r, R, H>
2557{
2558}
2559
2560#[derive(Debug)]
2565pub struct ForAllDeclarationHandle<H: HostTypes> {
2566 pub fingerprint: crate::enforcement::ContentFingerprint,
2568 _phantom: core::marker::PhantomData<H>,
2569}
2570impl<H: HostTypes> Copy for ForAllDeclarationHandle<H> {}
2571impl<H: HostTypes> Clone for ForAllDeclarationHandle<H> {
2572 #[inline]
2573 fn clone(&self) -> Self {
2574 *self
2575 }
2576}
2577impl<H: HostTypes> PartialEq for ForAllDeclarationHandle<H> {
2578 #[inline]
2579 fn eq(&self, other: &Self) -> bool {
2580 self.fingerprint == other.fingerprint
2581 }
2582}
2583impl<H: HostTypes> Eq for ForAllDeclarationHandle<H> {}
2584impl<H: HostTypes> core::hash::Hash for ForAllDeclarationHandle<H> {
2585 #[inline]
2586 fn hash<S: core::hash::Hasher>(&self, state: &mut S) {
2587 self.fingerprint.hash(state);
2588 }
2589}
2590impl<H: HostTypes> ForAllDeclarationHandle<H> {
2591 #[inline]
2593 #[must_use]
2594 pub const fn new(fingerprint: crate::enforcement::ContentFingerprint) -> Self {
2595 Self {
2596 fingerprint,
2597 _phantom: core::marker::PhantomData,
2598 }
2599 }
2600}
2601
2602pub trait ForAllDeclarationResolver<H: HostTypes> {
2608 fn resolve(&self, handle: ForAllDeclarationHandle<H>) -> Option<ForAllDeclarationRecord<H>>;
2611}
2612
2613#[derive(Clone, Debug, PartialEq, Eq, Hash)]
2619pub struct ForAllDeclarationRecord<H: HostTypes> {
2620 pub quantifier_kind: QuantifierKind,
2621 #[doc(hidden)]
2622 pub _phantom: core::marker::PhantomData<H>,
2623}
2624
2625pub struct ResolvedForAllDeclaration<'r, R: ForAllDeclarationResolver<H>, H: HostTypes> {
2633 handle: ForAllDeclarationHandle<H>,
2634 resolver: &'r R,
2635 record: Option<ForAllDeclarationRecord<H>>,
2636}
2637impl<'r, R: ForAllDeclarationResolver<H>, H: HostTypes> ResolvedForAllDeclaration<'r, R, H> {
2638 #[inline]
2640 pub fn new(handle: ForAllDeclarationHandle<H>, resolver: &'r R) -> Self {
2641 let record = resolver.resolve(handle);
2642 Self {
2643 handle,
2644 resolver,
2645 record,
2646 }
2647 }
2648 #[inline]
2650 #[must_use]
2651 pub const fn handle(&self) -> ForAllDeclarationHandle<H> {
2652 self.handle
2653 }
2654 #[inline]
2656 #[must_use]
2657 pub const fn resolver(&self) -> &'r R {
2658 self.resolver
2659 }
2660 #[inline]
2662 #[must_use]
2663 pub const fn record(&self) -> Option<&ForAllDeclarationRecord<H>> {
2664 self.record.as_ref()
2665 }
2666}
2667impl<'r, R: ForAllDeclarationResolver<H>, H: HostTypes> ForAllDeclaration<H>
2668 for ResolvedForAllDeclaration<'r, R, H>
2669{
2670 type VariableBinding = NullVariableBinding<H>;
2671 fn bound_variables(&self) -> &[Self::VariableBinding] {
2672 &[]
2673 }
2674 fn quantifier_kind(&self) -> QuantifierKind {
2675 match &self.record {
2676 Some(r) => r.quantifier_kind,
2677 None => <QuantifierKind>::default(),
2678 }
2679 }
2680}
2681
2682#[derive(Debug)]
2687pub struct VariableBindingHandle<H: HostTypes> {
2688 pub fingerprint: crate::enforcement::ContentFingerprint,
2690 _phantom: core::marker::PhantomData<H>,
2691}
2692impl<H: HostTypes> Copy for VariableBindingHandle<H> {}
2693impl<H: HostTypes> Clone for VariableBindingHandle<H> {
2694 #[inline]
2695 fn clone(&self) -> Self {
2696 *self
2697 }
2698}
2699impl<H: HostTypes> PartialEq for VariableBindingHandle<H> {
2700 #[inline]
2701 fn eq(&self, other: &Self) -> bool {
2702 self.fingerprint == other.fingerprint
2703 }
2704}
2705impl<H: HostTypes> Eq for VariableBindingHandle<H> {}
2706impl<H: HostTypes> core::hash::Hash for VariableBindingHandle<H> {
2707 #[inline]
2708 fn hash<S: core::hash::Hasher>(&self, state: &mut S) {
2709 self.fingerprint.hash(state);
2710 }
2711}
2712impl<H: HostTypes> VariableBindingHandle<H> {
2713 #[inline]
2715 #[must_use]
2716 pub const fn new(fingerprint: crate::enforcement::ContentFingerprint) -> Self {
2717 Self {
2718 fingerprint,
2719 _phantom: core::marker::PhantomData,
2720 }
2721 }
2722}
2723
2724pub trait VariableBindingResolver<H: HostTypes> {
2730 fn resolve(&self, handle: VariableBindingHandle<H>) -> Option<VariableBindingRecord<H>>;
2733}
2734
2735#[derive(Clone, Debug, PartialEq, Eq, Hash)]
2741pub struct VariableBindingRecord<H: HostTypes> {
2742 pub variable_domain: &'static H::HostString,
2743 pub variable_name: &'static H::HostString,
2744 #[doc(hidden)]
2745 pub _phantom: core::marker::PhantomData<H>,
2746}
2747
2748pub struct ResolvedVariableBinding<'r, R: VariableBindingResolver<H>, H: HostTypes> {
2756 handle: VariableBindingHandle<H>,
2757 resolver: &'r R,
2758 record: Option<VariableBindingRecord<H>>,
2759}
2760impl<'r, R: VariableBindingResolver<H>, H: HostTypes> ResolvedVariableBinding<'r, R, H> {
2761 #[inline]
2763 pub fn new(handle: VariableBindingHandle<H>, resolver: &'r R) -> Self {
2764 let record = resolver.resolve(handle);
2765 Self {
2766 handle,
2767 resolver,
2768 record,
2769 }
2770 }
2771 #[inline]
2773 #[must_use]
2774 pub const fn handle(&self) -> VariableBindingHandle<H> {
2775 self.handle
2776 }
2777 #[inline]
2779 #[must_use]
2780 pub const fn resolver(&self) -> &'r R {
2781 self.resolver
2782 }
2783 #[inline]
2785 #[must_use]
2786 pub const fn record(&self) -> Option<&VariableBindingRecord<H>> {
2787 self.record.as_ref()
2788 }
2789}
2790impl<'r, R: VariableBindingResolver<H>, H: HostTypes> VariableBinding<H>
2791 for ResolvedVariableBinding<'r, R, H>
2792{
2793 fn variable_domain(&self) -> &H::HostString {
2794 H::EMPTY_HOST_STRING
2795 }
2796 fn variable_name(&self) -> &H::HostString {
2797 match &self.record {
2798 Some(r) => r.variable_name,
2799 None => H::EMPTY_HOST_STRING,
2800 }
2801 }
2802}
2803
2804#[derive(Debug)]
2809pub struct SurfaceSymbolHandle<H: HostTypes> {
2810 pub fingerprint: crate::enforcement::ContentFingerprint,
2812 _phantom: core::marker::PhantomData<H>,
2813}
2814impl<H: HostTypes> Copy for SurfaceSymbolHandle<H> {}
2815impl<H: HostTypes> Clone for SurfaceSymbolHandle<H> {
2816 #[inline]
2817 fn clone(&self) -> Self {
2818 *self
2819 }
2820}
2821impl<H: HostTypes> PartialEq for SurfaceSymbolHandle<H> {
2822 #[inline]
2823 fn eq(&self, other: &Self) -> bool {
2824 self.fingerprint == other.fingerprint
2825 }
2826}
2827impl<H: HostTypes> Eq for SurfaceSymbolHandle<H> {}
2828impl<H: HostTypes> core::hash::Hash for SurfaceSymbolHandle<H> {
2829 #[inline]
2830 fn hash<S: core::hash::Hasher>(&self, state: &mut S) {
2831 self.fingerprint.hash(state);
2832 }
2833}
2834impl<H: HostTypes> SurfaceSymbolHandle<H> {
2835 #[inline]
2837 #[must_use]
2838 pub const fn new(fingerprint: crate::enforcement::ContentFingerprint) -> Self {
2839 Self {
2840 fingerprint,
2841 _phantom: core::marker::PhantomData,
2842 }
2843 }
2844}
2845
2846pub trait SurfaceSymbolResolver<H: HostTypes> {
2852 fn resolve(&self, handle: SurfaceSymbolHandle<H>) -> Option<SurfaceSymbolRecord<H>>;
2855}
2856
2857#[derive(Clone, Debug, PartialEq, Eq, Hash)]
2863pub struct SurfaceSymbolRecord<H: HostTypes> {
2864 #[doc(hidden)]
2865 pub _phantom: core::marker::PhantomData<H>,
2866}
2867
2868pub struct ResolvedSurfaceSymbol<'r, R: SurfaceSymbolResolver<H>, H: HostTypes> {
2876 handle: SurfaceSymbolHandle<H>,
2877 resolver: &'r R,
2878 record: Option<SurfaceSymbolRecord<H>>,
2879}
2880impl<'r, R: SurfaceSymbolResolver<H>, H: HostTypes> ResolvedSurfaceSymbol<'r, R, H> {
2881 #[inline]
2883 pub fn new(handle: SurfaceSymbolHandle<H>, resolver: &'r R) -> Self {
2884 let record = resolver.resolve(handle);
2885 Self {
2886 handle,
2887 resolver,
2888 record,
2889 }
2890 }
2891 #[inline]
2893 #[must_use]
2894 pub const fn handle(&self) -> SurfaceSymbolHandle<H> {
2895 self.handle
2896 }
2897 #[inline]
2899 #[must_use]
2900 pub const fn resolver(&self) -> &'r R {
2901 self.resolver
2902 }
2903 #[inline]
2905 #[must_use]
2906 pub const fn record(&self) -> Option<&SurfaceSymbolRecord<H>> {
2907 self.record.as_ref()
2908 }
2909}
2910impl<'r, R: SurfaceSymbolResolver<H>, H: HostTypes> SurfaceSymbol<H>
2911 for ResolvedSurfaceSymbol<'r, R, H>
2912{
2913}
2914
2915#[derive(Debug)]
2920pub struct HostValueHandle<H: HostTypes> {
2921 pub fingerprint: crate::enforcement::ContentFingerprint,
2923 _phantom: core::marker::PhantomData<H>,
2924}
2925impl<H: HostTypes> Copy for HostValueHandle<H> {}
2926impl<H: HostTypes> Clone for HostValueHandle<H> {
2927 #[inline]
2928 fn clone(&self) -> Self {
2929 *self
2930 }
2931}
2932impl<H: HostTypes> PartialEq for HostValueHandle<H> {
2933 #[inline]
2934 fn eq(&self, other: &Self) -> bool {
2935 self.fingerprint == other.fingerprint
2936 }
2937}
2938impl<H: HostTypes> Eq for HostValueHandle<H> {}
2939impl<H: HostTypes> core::hash::Hash for HostValueHandle<H> {
2940 #[inline]
2941 fn hash<S: core::hash::Hasher>(&self, state: &mut S) {
2942 self.fingerprint.hash(state);
2943 }
2944}
2945impl<H: HostTypes> HostValueHandle<H> {
2946 #[inline]
2948 #[must_use]
2949 pub const fn new(fingerprint: crate::enforcement::ContentFingerprint) -> Self {
2950 Self {
2951 fingerprint,
2952 _phantom: core::marker::PhantomData,
2953 }
2954 }
2955}
2956
2957pub trait HostValueResolver<H: HostTypes> {
2963 fn resolve(&self, handle: HostValueHandle<H>) -> Option<HostValueRecord<H>>;
2966}
2967
2968#[derive(Clone, Debug, PartialEq, Eq, Hash)]
2974pub struct HostValueRecord<H: HostTypes> {
2975 #[doc(hidden)]
2976 pub _phantom: core::marker::PhantomData<H>,
2977}
2978
2979pub struct ResolvedHostValue<'r, R: HostValueResolver<H>, H: HostTypes> {
2987 handle: HostValueHandle<H>,
2988 resolver: &'r R,
2989 record: Option<HostValueRecord<H>>,
2990}
2991impl<'r, R: HostValueResolver<H>, H: HostTypes> ResolvedHostValue<'r, R, H> {
2992 #[inline]
2994 pub fn new(handle: HostValueHandle<H>, resolver: &'r R) -> Self {
2995 let record = resolver.resolve(handle);
2996 Self {
2997 handle,
2998 resolver,
2999 record,
3000 }
3001 }
3002 #[inline]
3004 #[must_use]
3005 pub const fn handle(&self) -> HostValueHandle<H> {
3006 self.handle
3007 }
3008 #[inline]
3010 #[must_use]
3011 pub const fn resolver(&self) -> &'r R {
3012 self.resolver
3013 }
3014 #[inline]
3016 #[must_use]
3017 pub const fn record(&self) -> Option<&HostValueRecord<H>> {
3018 self.record.as_ref()
3019 }
3020}
3021impl<'r, R: HostValueResolver<H>, H: HostTypes> SurfaceSymbol<H> for ResolvedHostValue<'r, R, H> {}
3022impl<'r, R: HostValueResolver<H>, H: HostTypes> HostValue<H> for ResolvedHostValue<'r, R, H> {}
3023
3024#[derive(Debug)]
3029pub struct HostStringLiteralHandle<H: HostTypes> {
3030 pub fingerprint: crate::enforcement::ContentFingerprint,
3032 _phantom: core::marker::PhantomData<H>,
3033}
3034impl<H: HostTypes> Copy for HostStringLiteralHandle<H> {}
3035impl<H: HostTypes> Clone for HostStringLiteralHandle<H> {
3036 #[inline]
3037 fn clone(&self) -> Self {
3038 *self
3039 }
3040}
3041impl<H: HostTypes> PartialEq for HostStringLiteralHandle<H> {
3042 #[inline]
3043 fn eq(&self, other: &Self) -> bool {
3044 self.fingerprint == other.fingerprint
3045 }
3046}
3047impl<H: HostTypes> Eq for HostStringLiteralHandle<H> {}
3048impl<H: HostTypes> core::hash::Hash for HostStringLiteralHandle<H> {
3049 #[inline]
3050 fn hash<S: core::hash::Hasher>(&self, state: &mut S) {
3051 self.fingerprint.hash(state);
3052 }
3053}
3054impl<H: HostTypes> HostStringLiteralHandle<H> {
3055 #[inline]
3057 #[must_use]
3058 pub const fn new(fingerprint: crate::enforcement::ContentFingerprint) -> Self {
3059 Self {
3060 fingerprint,
3061 _phantom: core::marker::PhantomData,
3062 }
3063 }
3064}
3065
3066pub trait HostStringLiteralResolver<H: HostTypes> {
3072 fn resolve(&self, handle: HostStringLiteralHandle<H>) -> Option<HostStringLiteralRecord<H>>;
3075}
3076
3077#[derive(Clone, Debug, PartialEq, Eq, Hash)]
3083pub struct HostStringLiteralRecord<H: HostTypes> {
3084 pub host_string: &'static H::HostString,
3085 #[doc(hidden)]
3086 pub _phantom: core::marker::PhantomData<H>,
3087}
3088
3089pub struct ResolvedHostStringLiteral<'r, R: HostStringLiteralResolver<H>, H: HostTypes> {
3097 handle: HostStringLiteralHandle<H>,
3098 resolver: &'r R,
3099 record: Option<HostStringLiteralRecord<H>>,
3100}
3101impl<'r, R: HostStringLiteralResolver<H>, H: HostTypes> ResolvedHostStringLiteral<'r, R, H> {
3102 #[inline]
3104 pub fn new(handle: HostStringLiteralHandle<H>, resolver: &'r R) -> Self {
3105 let record = resolver.resolve(handle);
3106 Self {
3107 handle,
3108 resolver,
3109 record,
3110 }
3111 }
3112 #[inline]
3114 #[must_use]
3115 pub const fn handle(&self) -> HostStringLiteralHandle<H> {
3116 self.handle
3117 }
3118 #[inline]
3120 #[must_use]
3121 pub const fn resolver(&self) -> &'r R {
3122 self.resolver
3123 }
3124 #[inline]
3126 #[must_use]
3127 pub const fn record(&self) -> Option<&HostStringLiteralRecord<H>> {
3128 self.record.as_ref()
3129 }
3130}
3131impl<'r, R: HostStringLiteralResolver<H>, H: HostTypes> SurfaceSymbol<H>
3132 for ResolvedHostStringLiteral<'r, R, H>
3133{
3134}
3135impl<'r, R: HostStringLiteralResolver<H>, H: HostTypes> HostValue<H>
3136 for ResolvedHostStringLiteral<'r, R, H>
3137{
3138}
3139impl<'r, R: HostStringLiteralResolver<H>, H: HostTypes> HostStringLiteral<H>
3140 for ResolvedHostStringLiteral<'r, R, H>
3141{
3142 fn host_string(&self) -> &H::HostString {
3143 match &self.record {
3144 Some(r) => r.host_string,
3145 None => H::EMPTY_HOST_STRING,
3146 }
3147 }
3148}
3149
3150#[derive(Debug)]
3155pub struct HostBooleanLiteralHandle<H: HostTypes> {
3156 pub fingerprint: crate::enforcement::ContentFingerprint,
3158 _phantom: core::marker::PhantomData<H>,
3159}
3160impl<H: HostTypes> Copy for HostBooleanLiteralHandle<H> {}
3161impl<H: HostTypes> Clone for HostBooleanLiteralHandle<H> {
3162 #[inline]
3163 fn clone(&self) -> Self {
3164 *self
3165 }
3166}
3167impl<H: HostTypes> PartialEq for HostBooleanLiteralHandle<H> {
3168 #[inline]
3169 fn eq(&self, other: &Self) -> bool {
3170 self.fingerprint == other.fingerprint
3171 }
3172}
3173impl<H: HostTypes> Eq for HostBooleanLiteralHandle<H> {}
3174impl<H: HostTypes> core::hash::Hash for HostBooleanLiteralHandle<H> {
3175 #[inline]
3176 fn hash<S: core::hash::Hasher>(&self, state: &mut S) {
3177 self.fingerprint.hash(state);
3178 }
3179}
3180impl<H: HostTypes> HostBooleanLiteralHandle<H> {
3181 #[inline]
3183 #[must_use]
3184 pub const fn new(fingerprint: crate::enforcement::ContentFingerprint) -> Self {
3185 Self {
3186 fingerprint,
3187 _phantom: core::marker::PhantomData,
3188 }
3189 }
3190}
3191
3192pub trait HostBooleanLiteralResolver<H: HostTypes> {
3198 fn resolve(&self, handle: HostBooleanLiteralHandle<H>) -> Option<HostBooleanLiteralRecord<H>>;
3201}
3202
3203#[derive(Clone, Debug, PartialEq, Eq, Hash)]
3209pub struct HostBooleanLiteralRecord<H: HostTypes> {
3210 pub host_boolean: bool,
3211 #[doc(hidden)]
3212 pub _phantom: core::marker::PhantomData<H>,
3213}
3214
3215pub struct ResolvedHostBooleanLiteral<'r, R: HostBooleanLiteralResolver<H>, H: HostTypes> {
3223 handle: HostBooleanLiteralHandle<H>,
3224 resolver: &'r R,
3225 record: Option<HostBooleanLiteralRecord<H>>,
3226}
3227impl<'r, R: HostBooleanLiteralResolver<H>, H: HostTypes> ResolvedHostBooleanLiteral<'r, R, H> {
3228 #[inline]
3230 pub fn new(handle: HostBooleanLiteralHandle<H>, resolver: &'r R) -> Self {
3231 let record = resolver.resolve(handle);
3232 Self {
3233 handle,
3234 resolver,
3235 record,
3236 }
3237 }
3238 #[inline]
3240 #[must_use]
3241 pub const fn handle(&self) -> HostBooleanLiteralHandle<H> {
3242 self.handle
3243 }
3244 #[inline]
3246 #[must_use]
3247 pub const fn resolver(&self) -> &'r R {
3248 self.resolver
3249 }
3250 #[inline]
3252 #[must_use]
3253 pub const fn record(&self) -> Option<&HostBooleanLiteralRecord<H>> {
3254 self.record.as_ref()
3255 }
3256}
3257impl<'r, R: HostBooleanLiteralResolver<H>, H: HostTypes> SurfaceSymbol<H>
3258 for ResolvedHostBooleanLiteral<'r, R, H>
3259{
3260}
3261impl<'r, R: HostBooleanLiteralResolver<H>, H: HostTypes> HostValue<H>
3262 for ResolvedHostBooleanLiteral<'r, R, H>
3263{
3264}
3265impl<'r, R: HostBooleanLiteralResolver<H>, H: HostTypes> HostBooleanLiteral<H>
3266 for ResolvedHostBooleanLiteral<'r, R, H>
3267{
3268 fn host_boolean(&self) -> bool {
3269 match &self.record {
3270 Some(r) => r.host_boolean,
3271 None => false,
3272 }
3273 }
3274}
3275
3276#[derive(Debug)]
3281pub struct ValueTupleHandle<H: HostTypes> {
3282 pub fingerprint: crate::enforcement::ContentFingerprint,
3284 _phantom: core::marker::PhantomData<H>,
3285}
3286impl<H: HostTypes> Copy for ValueTupleHandle<H> {}
3287impl<H: HostTypes> Clone for ValueTupleHandle<H> {
3288 #[inline]
3289 fn clone(&self) -> Self {
3290 *self
3291 }
3292}
3293impl<H: HostTypes> PartialEq for ValueTupleHandle<H> {
3294 #[inline]
3295 fn eq(&self, other: &Self) -> bool {
3296 self.fingerprint == other.fingerprint
3297 }
3298}
3299impl<H: HostTypes> Eq for ValueTupleHandle<H> {}
3300impl<H: HostTypes> core::hash::Hash for ValueTupleHandle<H> {
3301 #[inline]
3302 fn hash<S: core::hash::Hasher>(&self, state: &mut S) {
3303 self.fingerprint.hash(state);
3304 }
3305}
3306impl<H: HostTypes> ValueTupleHandle<H> {
3307 #[inline]
3309 #[must_use]
3310 pub const fn new(fingerprint: crate::enforcement::ContentFingerprint) -> Self {
3311 Self {
3312 fingerprint,
3313 _phantom: core::marker::PhantomData,
3314 }
3315 }
3316}
3317
3318pub trait ValueTupleResolver<H: HostTypes> {
3324 fn resolve(&self, handle: ValueTupleHandle<H>) -> Option<ValueTupleRecord<H>>;
3327}
3328
3329#[derive(Clone, Debug, PartialEq, Eq, Hash)]
3335pub struct ValueTupleRecord<H: HostTypes> {
3336 #[doc(hidden)]
3337 pub _phantom: core::marker::PhantomData<H>,
3338}
3339
3340pub struct ResolvedValueTuple<'r, R: ValueTupleResolver<H>, H: HostTypes> {
3348 handle: ValueTupleHandle<H>,
3349 resolver: &'r R,
3350 record: Option<ValueTupleRecord<H>>,
3351}
3352impl<'r, R: ValueTupleResolver<H>, H: HostTypes> ResolvedValueTuple<'r, R, H> {
3353 #[inline]
3355 pub fn new(handle: ValueTupleHandle<H>, resolver: &'r R) -> Self {
3356 let record = resolver.resolve(handle);
3357 Self {
3358 handle,
3359 resolver,
3360 record,
3361 }
3362 }
3363 #[inline]
3365 #[must_use]
3366 pub const fn handle(&self) -> ValueTupleHandle<H> {
3367 self.handle
3368 }
3369 #[inline]
3371 #[must_use]
3372 pub const fn resolver(&self) -> &'r R {
3373 self.resolver
3374 }
3375 #[inline]
3377 #[must_use]
3378 pub const fn record(&self) -> Option<&ValueTupleRecord<H>> {
3379 self.record.as_ref()
3380 }
3381}
3382impl<'r, R: ValueTupleResolver<H>, H: HostTypes> ValueTuple<H> for ResolvedValueTuple<'r, R, H> {}
3383
3384pub mod universal {}
3386
3387pub mod existential {}
3389
3390pub mod pi1 {
3392 pub const VALUE: i64 = 1;
3394}
3395
3396pub mod zero {
3398 pub const VALUE: i64 = 0;
3400}
3401
3402pub mod w8 {
3404 pub const BITS_WIDTH: i64 = 8;
3406 pub const CYCLE_SIZE: i64 = 256;
3408 pub const NEXT_WITT_LEVEL: &str = "https://uor.foundation/schema/W16";
3410}
3411
3412pub mod w16 {
3414 pub const BITS_WIDTH: i64 = 16;
3416 pub const CYCLE_SIZE: i64 = 65536;
3418 pub const NEXT_WITT_LEVEL: &str = "https://uor.foundation/schema/W24";
3420 pub const WITT_LEVEL_PREDECESSOR: &str = "https://uor.foundation/schema/W8";
3422}
3423
3424pub mod w24 {
3426 pub const BITS_WIDTH: i64 = 24;
3428 pub const CYCLE_SIZE: i64 = 16777216;
3430 pub const NEXT_WITT_LEVEL: &str = "https://uor.foundation/schema/W32";
3432 pub const WITT_LEVEL_PREDECESSOR: &str = "https://uor.foundation/schema/W16";
3434}
3435
3436pub mod w32 {
3438 pub const BITS_WIDTH: i64 = 32;
3440 pub const CYCLE_SIZE: i64 = 4294967296;
3442 pub const NEXT_WITT_LEVEL: &str = "https://uor.foundation/schema/W40";
3444 pub const WITT_LEVEL_PREDECESSOR: &str = "https://uor.foundation/schema/W24";
3446}
3447
3448pub mod w40 {
3450 pub const BITS_WIDTH: i64 = 40;
3452 pub const CYCLE_SIZE: i64 = 1099511627776;
3454 pub const NEXT_WITT_LEVEL: &str = "https://uor.foundation/schema/W48";
3456 pub const WITT_LEVEL_PREDECESSOR: &str = "https://uor.foundation/schema/W32";
3458}
3459
3460pub mod w48 {
3462 pub const BITS_WIDTH: i64 = 48;
3464 pub const CYCLE_SIZE: i64 = 281474976710656;
3466 pub const NEXT_WITT_LEVEL: &str = "https://uor.foundation/schema/W56";
3468 pub const WITT_LEVEL_PREDECESSOR: &str = "https://uor.foundation/schema/W40";
3470}
3471
3472pub mod w56 {
3474 pub const BITS_WIDTH: i64 = 56;
3476 pub const CYCLE_SIZE: i64 = 72057594037927936;
3478 pub const NEXT_WITT_LEVEL: &str = "https://uor.foundation/schema/W64";
3480 pub const WITT_LEVEL_PREDECESSOR: &str = "https://uor.foundation/schema/W48";
3482}
3483
3484pub mod w64 {
3486 pub const BITS_WIDTH: i64 = 64;
3488 pub const NEXT_WITT_LEVEL: &str = "https://uor.foundation/schema/W72";
3490 pub const WITT_LEVEL_PREDECESSOR: &str = "https://uor.foundation/schema/W56";
3492}
3493
3494pub mod w72 {
3496 pub const BITS_WIDTH: i64 = 72;
3498 pub const NEXT_WITT_LEVEL: &str = "https://uor.foundation/schema/W80";
3500 pub const WITT_LEVEL_PREDECESSOR: &str = "https://uor.foundation/schema/W64";
3502}
3503
3504pub mod w80 {
3506 pub const BITS_WIDTH: i64 = 80;
3508 pub const NEXT_WITT_LEVEL: &str = "https://uor.foundation/schema/W88";
3510 pub const WITT_LEVEL_PREDECESSOR: &str = "https://uor.foundation/schema/W72";
3512}
3513
3514pub mod w88 {
3516 pub const BITS_WIDTH: i64 = 88;
3518 pub const NEXT_WITT_LEVEL: &str = "https://uor.foundation/schema/W96";
3520 pub const WITT_LEVEL_PREDECESSOR: &str = "https://uor.foundation/schema/W80";
3522}
3523
3524pub mod w96 {
3526 pub const BITS_WIDTH: i64 = 96;
3528 pub const NEXT_WITT_LEVEL: &str = "https://uor.foundation/schema/W104";
3530 pub const WITT_LEVEL_PREDECESSOR: &str = "https://uor.foundation/schema/W88";
3532}
3533
3534pub mod w104 {
3536 pub const BITS_WIDTH: i64 = 104;
3538 pub const NEXT_WITT_LEVEL: &str = "https://uor.foundation/schema/W112";
3540 pub const WITT_LEVEL_PREDECESSOR: &str = "https://uor.foundation/schema/W96";
3542}
3543
3544pub mod w112 {
3546 pub const BITS_WIDTH: i64 = 112;
3548 pub const NEXT_WITT_LEVEL: &str = "https://uor.foundation/schema/W120";
3550 pub const WITT_LEVEL_PREDECESSOR: &str = "https://uor.foundation/schema/W104";
3552}
3553
3554pub mod w120 {
3556 pub const BITS_WIDTH: i64 = 120;
3558 pub const NEXT_WITT_LEVEL: &str = "https://uor.foundation/schema/W128";
3560 pub const WITT_LEVEL_PREDECESSOR: &str = "https://uor.foundation/schema/W112";
3562}
3563
3564pub mod w128 {
3566 pub const BITS_WIDTH: i64 = 128;
3568 pub const NEXT_WITT_LEVEL: &str = "https://uor.foundation/schema/W160";
3570 pub const WITT_LEVEL_PREDECESSOR: &str = "https://uor.foundation/schema/W120";
3572}
3573
3574pub mod w160 {
3576 pub const BITS_WIDTH: i64 = 160;
3578 pub const NEXT_WITT_LEVEL: &str = "https://uor.foundation/schema/W192";
3580 pub const WITT_LEVEL_PREDECESSOR: &str = "https://uor.foundation/schema/W128";
3582}
3583
3584pub mod w192 {
3586 pub const BITS_WIDTH: i64 = 192;
3588 pub const NEXT_WITT_LEVEL: &str = "https://uor.foundation/schema/W224";
3590 pub const WITT_LEVEL_PREDECESSOR: &str = "https://uor.foundation/schema/W160";
3592}
3593
3594pub mod w224 {
3596 pub const BITS_WIDTH: i64 = 224;
3598 pub const NEXT_WITT_LEVEL: &str = "https://uor.foundation/schema/W256";
3600 pub const WITT_LEVEL_PREDECESSOR: &str = "https://uor.foundation/schema/W192";
3602}
3603
3604pub mod w256 {
3606 pub const BITS_WIDTH: i64 = 256;
3608 pub const NEXT_WITT_LEVEL: &str = "https://uor.foundation/schema/W384";
3610 pub const WITT_LEVEL_PREDECESSOR: &str = "https://uor.foundation/schema/W224";
3612}
3613
3614pub mod w384 {
3616 pub const BITS_WIDTH: i64 = 384;
3618 pub const NEXT_WITT_LEVEL: &str = "https://uor.foundation/schema/W448";
3620 pub const WITT_LEVEL_PREDECESSOR: &str = "https://uor.foundation/schema/W256";
3622}
3623
3624pub mod w448 {
3626 pub const BITS_WIDTH: i64 = 448;
3628 pub const NEXT_WITT_LEVEL: &str = "https://uor.foundation/schema/W512";
3630 pub const WITT_LEVEL_PREDECESSOR: &str = "https://uor.foundation/schema/W384";
3632}
3633
3634pub mod w512 {
3636 pub const BITS_WIDTH: i64 = 512;
3638 pub const NEXT_WITT_LEVEL: &str = "https://uor.foundation/schema/W520";
3640 pub const WITT_LEVEL_PREDECESSOR: &str = "https://uor.foundation/schema/W448";
3642}
3643
3644pub mod w520 {
3646 pub const BITS_WIDTH: i64 = 520;
3648 pub const NEXT_WITT_LEVEL: &str = "https://uor.foundation/schema/W528";
3650 pub const WITT_LEVEL_PREDECESSOR: &str = "https://uor.foundation/schema/W512";
3652}
3653
3654pub mod w528 {
3656 pub const BITS_WIDTH: i64 = 528;
3658 pub const NEXT_WITT_LEVEL: &str = "https://uor.foundation/schema/W1024";
3660 pub const WITT_LEVEL_PREDECESSOR: &str = "https://uor.foundation/schema/W520";
3662}
3663
3664pub mod w1024 {
3666 pub const BITS_WIDTH: i64 = 1024;
3668 pub const NEXT_WITT_LEVEL: &str = "https://uor.foundation/schema/W2048";
3670 pub const WITT_LEVEL_PREDECESSOR: &str = "https://uor.foundation/schema/W528";
3672}
3673
3674pub mod w2048 {
3676 pub const BITS_WIDTH: i64 = 2048;
3678 pub const NEXT_WITT_LEVEL: &str = "https://uor.foundation/schema/W4096";
3680 pub const WITT_LEVEL_PREDECESSOR: &str = "https://uor.foundation/schema/W1024";
3682}
3683
3684pub mod w4096 {
3686 pub const BITS_WIDTH: i64 = 4096;
3688 pub const NEXT_WITT_LEVEL: &str = "https://uor.foundation/schema/W8192";
3690 pub const WITT_LEVEL_PREDECESSOR: &str = "https://uor.foundation/schema/W2048";
3692}
3693
3694pub mod w8192 {
3696 pub const BITS_WIDTH: i64 = 8192;
3698 pub const NEXT_WITT_LEVEL: &str = "https://uor.foundation/schema/W12288";
3700 pub const WITT_LEVEL_PREDECESSOR: &str = "https://uor.foundation/schema/W4096";
3702}
3703
3704pub mod w12288 {
3706 pub const BITS_WIDTH: i64 = 12288;
3708 pub const NEXT_WITT_LEVEL: &str = "https://uor.foundation/schema/W16384";
3710 pub const WITT_LEVEL_PREDECESSOR: &str = "https://uor.foundation/schema/W8192";
3712}
3713
3714pub mod w16384 {
3716 pub const BITS_WIDTH: i64 = 16384;
3718 pub const NEXT_WITT_LEVEL: &str = "https://uor.foundation/schema/W32768";
3720 pub const WITT_LEVEL_PREDECESSOR: &str = "https://uor.foundation/schema/W12288";
3722}
3723
3724pub mod w32768 {
3726 pub const BITS_WIDTH: i64 = 32768;
3728 pub const WITT_LEVEL_PREDECESSOR: &str = "https://uor.foundation/schema/W16384";
3730}
3731
3732pub mod term_critical_identity_lhs {
3733 pub const LITERAL_VALUE: &str = "neg(bnot(x))";
3735}
3736
3737pub mod term_critical_identity_rhs {
3738 pub const LITERAL_VALUE: &str = "succ(x)";
3740}
3741
3742pub mod term_critical_identity_for_all {
3743 pub const VARIABLE_NAME: &str = "x ∈ R_n";
3745}
3746
3747pub mod term_ad_1_lhs {
3748 pub const LITERAL_VALUE: &str = "addresses(glyph(d))";
3750}
3751
3752pub mod term_ad_1_rhs {
3753 pub const LITERAL_VALUE: &str = "d";
3755}
3756
3757pub mod term_ad_1_for_all {
3758 pub const VARIABLE_NAME: &str = "d ∈ R_n";
3760}
3761
3762pub mod term_ad_2_lhs {
3763 pub const LITERAL_VALUE: &str = "glyph(ι(addresses(a)))";
3765}
3766
3767pub mod term_ad_2_rhs {
3768 pub const LITERAL_VALUE: &str = "ι_addr(a)";
3770}
3771
3772pub mod term_ad_2_for_all {
3773 pub const VARIABLE_NAME: &str = "a ∈ Addr(R_n), ι : R_n → R_{n'}";
3775}
3776
3777pub mod term_r_a1_lhs {
3778 pub const LITERAL_VALUE: &str = "add(x, add(y, z))";
3780}
3781
3782pub mod term_r_a1_rhs {
3783 pub const LITERAL_VALUE: &str = "add(add(x, y), z)";
3785}
3786
3787pub mod term_r_a1_for_all {
3788 pub const VARIABLE_NAME: &str = "x, y, z ∈ R_n";
3790}
3791
3792pub mod term_r_a2_lhs {
3793 pub const LITERAL_VALUE: &str = "add(x, 0)";
3795}
3796
3797pub mod term_r_a2_rhs {
3798 pub const LITERAL_VALUE: &str = "x";
3800}
3801
3802pub mod term_r_a2_for_all {
3803 pub const VARIABLE_NAME: &str = "x ∈ R_n";
3805}
3806
3807pub mod term_r_a3_lhs {
3808 pub const LITERAL_VALUE: &str = "add(x, neg(x))";
3810}
3811
3812pub mod term_r_a3_rhs {
3813 pub const LITERAL_VALUE: &str = "0";
3815}
3816
3817pub mod term_r_a3_for_all {
3818 pub const VARIABLE_NAME: &str = "x ∈ R_n";
3820}
3821
3822pub mod term_r_a4_lhs {
3823 pub const LITERAL_VALUE: &str = "add(x, y)";
3825}
3826
3827pub mod term_r_a4_rhs {
3828 pub const LITERAL_VALUE: &str = "add(y, x)";
3830}
3831
3832pub mod term_r_a4_for_all {
3833 pub const VARIABLE_NAME: &str = "x, y ∈ R_n";
3835}
3836
3837pub mod term_r_a5_lhs {
3838 pub const LITERAL_VALUE: &str = "sub(x, y)";
3840}
3841
3842pub mod term_r_a5_rhs {
3843 pub const LITERAL_VALUE: &str = "add(x, neg(y))";
3845}
3846
3847pub mod term_r_a5_for_all {
3848 pub const VARIABLE_NAME: &str = "x, y ∈ R_n";
3850}
3851
3852pub mod term_r_a6_lhs {
3853 pub const LITERAL_VALUE: &str = "neg(neg(x))";
3855}
3856
3857pub mod term_r_a6_rhs {
3858 pub const LITERAL_VALUE: &str = "x";
3860}
3861
3862pub mod term_r_a6_for_all {
3863 pub const VARIABLE_NAME: &str = "x ∈ R_n";
3865}
3866
3867pub mod term_r_m1_lhs {
3868 pub const LITERAL_VALUE: &str = "mul(x, mul(y, z))";
3870}
3871
3872pub mod term_r_m1_rhs {
3873 pub const LITERAL_VALUE: &str = "mul(mul(x, y), z)";
3875}
3876
3877pub mod term_r_m1_for_all {
3878 pub const VARIABLE_NAME: &str = "x, y, z ∈ R_n";
3880}
3881
3882pub mod term_r_m2_lhs {
3883 pub const LITERAL_VALUE: &str = "mul(x, 1)";
3885}
3886
3887pub mod term_r_m2_rhs {
3888 pub const LITERAL_VALUE: &str = "x";
3890}
3891
3892pub mod term_r_m2_for_all {
3893 pub const VARIABLE_NAME: &str = "x ∈ R_n";
3895}
3896
3897pub mod term_r_m3_lhs {
3898 pub const LITERAL_VALUE: &str = "mul(x, y)";
3900}
3901
3902pub mod term_r_m3_rhs {
3903 pub const LITERAL_VALUE: &str = "mul(y, x)";
3905}
3906
3907pub mod term_r_m3_for_all {
3908 pub const VARIABLE_NAME: &str = "x, y ∈ R_n";
3910}
3911
3912pub mod term_r_m4_lhs {
3913 pub const LITERAL_VALUE: &str = "mul(x, add(y, z))";
3915}
3916
3917pub mod term_r_m4_rhs {
3918 pub const LITERAL_VALUE: &str = "add(mul(x, y), mul(x, z))";
3920}
3921
3922pub mod term_r_m4_for_all {
3923 pub const VARIABLE_NAME: &str = "x, y, z ∈ R_n";
3925}
3926
3927pub mod term_r_m5_lhs {
3928 pub const LITERAL_VALUE: &str = "mul(x, 0)";
3930}
3931
3932pub mod term_r_m5_rhs {
3933 pub const LITERAL_VALUE: &str = "0";
3935}
3936
3937pub mod term_r_m5_for_all {
3938 pub const VARIABLE_NAME: &str = "x ∈ R_n";
3940}
3941
3942pub mod term_dv_1_lhs {
3943 pub const LITERAL_VALUE: &str = "div(a, 1)";
3945}
3946
3947pub mod term_dv_1_rhs {
3948 pub const LITERAL_VALUE: &str = "a";
3950}
3951
3952pub mod term_dv_1_for_all {
3953 pub const VARIABLE_NAME: &str = "a ∈ R_n";
3955}
3956
3957pub mod term_dv_2_lhs {
3958 pub const LITERAL_VALUE: &str = "div(0, b)";
3960}
3961
3962pub mod term_dv_2_rhs {
3963 pub const LITERAL_VALUE: &str = "0";
3965}
3966
3967pub mod term_dv_2_for_all {
3968 pub const VARIABLE_NAME: &str = "b ∈ R_n, b ≠ 0";
3970}
3971
3972pub mod term_dv_3_lhs {
3973 pub const LITERAL_VALUE: &str = "div(mul(a, b), b)";
3975}
3976
3977pub mod term_dv_3_rhs {
3978 pub const LITERAL_VALUE: &str = "a";
3980}
3981
3982pub mod term_dv_3_for_all {
3983 pub const VARIABLE_NAME: &str = "a, b ∈ R_n, b ≠ 0, mul(a, b) does not overflow";
3985}
3986
3987pub mod term_dv_4_lhs {
3988 pub const LITERAL_VALUE: &str = "a";
3990}
3991
3992pub mod term_dv_4_rhs {
3993 pub const LITERAL_VALUE: &str = "add(mul(div(a, b), b), mod(a, b))";
3995}
3996
3997pub mod term_dv_4_for_all {
3998 pub const VARIABLE_NAME: &str = "a, b ∈ R_n, b ≠ 0";
4000}
4001
4002pub mod term_pw_1_lhs {
4003 pub const LITERAL_VALUE: &str = "pow(a, 0)";
4005}
4006
4007pub mod term_pw_1_rhs {
4008 pub const LITERAL_VALUE: &str = "1";
4010}
4011
4012pub mod term_pw_1_for_all {
4013 pub const VARIABLE_NAME: &str = "a ∈ R_n";
4015}
4016
4017pub mod term_pw_2_lhs {
4018 pub const LITERAL_VALUE: &str = "pow(a, 1)";
4020}
4021
4022pub mod term_pw_2_rhs {
4023 pub const LITERAL_VALUE: &str = "a";
4025}
4026
4027pub mod term_pw_2_for_all {
4028 pub const VARIABLE_NAME: &str = "a ∈ R_n";
4030}
4031
4032pub mod term_pw_3_lhs {
4033 pub const LITERAL_VALUE: &str = "pow(a, add(b, c))";
4035}
4036
4037pub mod term_pw_3_rhs {
4038 pub const LITERAL_VALUE: &str = "mul(pow(a, b), pow(a, c))";
4040}
4041
4042pub mod term_pw_3_for_all {
4043 pub const VARIABLE_NAME: &str = "a, b, c ∈ R_n";
4045}
4046
4047pub mod term_b_1_lhs {
4048 pub const LITERAL_VALUE: &str = "xor(x, xor(y, z))";
4050}
4051
4052pub mod term_b_1_rhs {
4053 pub const LITERAL_VALUE: &str = "xor(xor(x, y), z)";
4055}
4056
4057pub mod term_b_1_for_all {
4058 pub const VARIABLE_NAME: &str = "x, y, z ∈ R_n";
4060}
4061
4062pub mod term_b_2_lhs {
4063 pub const LITERAL_VALUE: &str = "xor(x, 0)";
4065}
4066
4067pub mod term_b_2_rhs {
4068 pub const LITERAL_VALUE: &str = "x";
4070}
4071
4072pub mod term_b_2_for_all {
4073 pub const VARIABLE_NAME: &str = "x ∈ R_n";
4075}
4076
4077pub mod term_b_3_lhs {
4078 pub const LITERAL_VALUE: &str = "xor(x, x)";
4080}
4081
4082pub mod term_b_3_rhs {
4083 pub const LITERAL_VALUE: &str = "0";
4085}
4086
4087pub mod term_b_3_for_all {
4088 pub const VARIABLE_NAME: &str = "x ∈ R_n";
4090}
4091
4092pub mod term_b_4_lhs {
4093 pub const LITERAL_VALUE: &str = "and(x, and(y, z))";
4095}
4096
4097pub mod term_b_4_rhs {
4098 pub const LITERAL_VALUE: &str = "and(and(x, y), z)";
4100}
4101
4102pub mod term_b_4_for_all {
4103 pub const VARIABLE_NAME: &str = "x, y, z ∈ R_n";
4105}
4106
4107pub mod term_b_5_lhs {
4108 pub const LITERAL_VALUE: &str = "and(x, 2^n - 1)";
4110}
4111
4112pub mod term_b_5_rhs {
4113 pub const LITERAL_VALUE: &str = "x";
4115}
4116
4117pub mod term_b_5_for_all {
4118 pub const VARIABLE_NAME: &str = "x ∈ R_n";
4120}
4121
4122pub mod term_b_6_lhs {
4123 pub const LITERAL_VALUE: &str = "and(x, 0)";
4125}
4126
4127pub mod term_b_6_rhs {
4128 pub const LITERAL_VALUE: &str = "0";
4130}
4131
4132pub mod term_b_6_for_all {
4133 pub const VARIABLE_NAME: &str = "x ∈ R_n";
4135}
4136
4137pub mod term_b_7_lhs {
4138 pub const LITERAL_VALUE: &str = "or(x, or(y, z))";
4140}
4141
4142pub mod term_b_7_rhs {
4143 pub const LITERAL_VALUE: &str = "or(or(x, y), z)";
4145}
4146
4147pub mod term_b_7_for_all {
4148 pub const VARIABLE_NAME: &str = "x, y, z ∈ R_n";
4150}
4151
4152pub mod term_b_8_lhs {
4153 pub const LITERAL_VALUE: &str = "or(x, 0)";
4155}
4156
4157pub mod term_b_8_rhs {
4158 pub const LITERAL_VALUE: &str = "x";
4160}
4161
4162pub mod term_b_8_for_all {
4163 pub const VARIABLE_NAME: &str = "x ∈ R_n";
4165}
4166
4167pub mod term_b_9_lhs {
4168 pub const LITERAL_VALUE: &str = "and(x, or(x, y))";
4170}
4171
4172pub mod term_b_9_rhs {
4173 pub const LITERAL_VALUE: &str = "x";
4175}
4176
4177pub mod term_b_9_for_all {
4178 pub const VARIABLE_NAME: &str = "x, y ∈ R_n";
4180}
4181
4182pub mod term_b_10_lhs {
4183 pub const LITERAL_VALUE: &str = "and(x, or(y, z))";
4185}
4186
4187pub mod term_b_10_rhs {
4188 pub const LITERAL_VALUE: &str = "or(and(x, y), and(x, z))";
4190}
4191
4192pub mod term_b_10_for_all {
4193 pub const VARIABLE_NAME: &str = "x, y, z ∈ R_n";
4195}
4196
4197pub mod term_b_11_lhs {
4198 pub const LITERAL_VALUE: &str = "bnot(and(x, y))";
4200}
4201
4202pub mod term_b_11_rhs {
4203 pub const LITERAL_VALUE: &str = "or(bnot(x), bnot(y))";
4205}
4206
4207pub mod term_b_11_for_all {
4208 pub const VARIABLE_NAME: &str = "x, y ∈ R_n";
4210}
4211
4212pub mod term_b_12_lhs {
4213 pub const LITERAL_VALUE: &str = "bnot(or(x, y))";
4215}
4216
4217pub mod term_b_12_rhs {
4218 pub const LITERAL_VALUE: &str = "and(bnot(x), bnot(y))";
4220}
4221
4222pub mod term_b_12_for_all {
4223 pub const VARIABLE_NAME: &str = "x, y ∈ R_n";
4225}
4226
4227pub mod term_b_13_lhs {
4228 pub const LITERAL_VALUE: &str = "bnot(bnot(x))";
4230}
4231
4232pub mod term_b_13_rhs {
4233 pub const LITERAL_VALUE: &str = "x";
4235}
4236
4237pub mod term_b_13_for_all {
4238 pub const VARIABLE_NAME: &str = "x ∈ R_n";
4240}
4241
4242pub mod term_x_1_lhs {
4243 pub const LITERAL_VALUE: &str = "neg(x)";
4245}
4246
4247pub mod term_x_1_rhs {
4248 pub const LITERAL_VALUE: &str = "sub(0, x)";
4250}
4251
4252pub mod term_x_1_for_all {
4253 pub const VARIABLE_NAME: &str = "x ∈ R_n";
4255}
4256
4257pub mod term_x_2_lhs {
4258 pub const LITERAL_VALUE: &str = "bnot(x)";
4260}
4261
4262pub mod term_x_2_rhs {
4263 pub const LITERAL_VALUE: &str = "xor(x, 2^n - 1)";
4265}
4266
4267pub mod term_x_2_for_all {
4268 pub const VARIABLE_NAME: &str = "x ∈ R_n";
4270}
4271
4272pub mod term_x_3_lhs {
4273 pub const LITERAL_VALUE: &str = "succ(x)";
4275}
4276
4277pub mod term_x_3_rhs {
4278 pub const LITERAL_VALUE: &str = "add(x, 1)";
4280}
4281
4282pub mod term_x_3_for_all {
4283 pub const VARIABLE_NAME: &str = "x ∈ R_n";
4285}
4286
4287pub mod term_x_4_lhs {
4288 pub const LITERAL_VALUE: &str = "pred(x)";
4290}
4291
4292pub mod term_x_4_rhs {
4293 pub const LITERAL_VALUE: &str = "sub(x, 1)";
4295}
4296
4297pub mod term_x_4_for_all {
4298 pub const VARIABLE_NAME: &str = "x ∈ R_n";
4300}
4301
4302pub mod term_x_5_lhs {
4303 pub const LITERAL_VALUE: &str = "neg(x)";
4305}
4306
4307pub mod term_x_5_rhs {
4308 pub const LITERAL_VALUE: &str = "add(bnot(x), 1)";
4310}
4311
4312pub mod term_x_5_for_all {
4313 pub const VARIABLE_NAME: &str = "x ∈ R_n";
4315}
4316
4317pub mod term_x_6_lhs {
4318 pub const LITERAL_VALUE: &str = "bnot(x)";
4320}
4321
4322pub mod term_x_6_rhs {
4323 pub const LITERAL_VALUE: &str = "pred(neg(x))";
4325}
4326
4327pub mod term_x_6_for_all {
4328 pub const VARIABLE_NAME: &str = "x ∈ R_n";
4330}
4331
4332pub mod term_x_7_lhs {
4333 pub const LITERAL_VALUE: &str = "xor(x, y)";
4335}
4336
4337pub mod term_x_7_rhs {
4338 pub const LITERAL_VALUE: &str = "add(x, y) - 2 * and(x, y)";
4340}
4341
4342pub mod term_x_7_for_all {
4343 pub const VARIABLE_NAME: &str = "x, y ∈ Z (before mod)";
4345}
4346
4347pub mod term_d_1_lhs {
4348 pub const LITERAL_VALUE: &str = "succ^{2^n}(x)";
4350}
4351
4352pub mod term_d_1_rhs {
4353 pub const LITERAL_VALUE: &str = "x";
4355}
4356
4357pub mod term_d_1_for_all {
4358 pub const VARIABLE_NAME: &str = "x ∈ R_n";
4360}
4361
4362pub mod term_d_3_lhs {
4363 pub const LITERAL_VALUE: &str = "neg(succ(neg(x)))";
4365}
4366
4367pub mod term_d_3_rhs {
4368 pub const LITERAL_VALUE: &str = "pred(x)";
4370}
4371
4372pub mod term_d_3_for_all {
4373 pub const VARIABLE_NAME: &str = "x ∈ R_n";
4375}
4376
4377pub mod term_d_4_lhs {
4378 pub const LITERAL_VALUE: &str = "bnot(neg(x))";
4380}
4381
4382pub mod term_d_4_rhs {
4383 pub const LITERAL_VALUE: &str = "pred(x)";
4385}
4386
4387pub mod term_d_4_for_all {
4388 pub const VARIABLE_NAME: &str = "x ∈ R_n";
4390}
4391
4392pub mod term_d_5_lhs {
4393 pub const LITERAL_VALUE: &str = "D_{2^n}";
4395}
4396
4397pub mod term_d_5_rhs {
4398 pub const LITERAL_VALUE: &str = "{succ^k, neg ∘ succ^k : 0 ≤ k < 2^n}";
4400}
4401
4402pub mod term_d_5_for_all {
4403 pub const VARIABLE_NAME: &str = "n ≥ 1";
4405}
4406
4407pub mod term_u_1_lhs {
4408 pub const LITERAL_VALUE: &str = "R_n×";
4410}
4411
4412pub mod term_u_1_rhs {
4413 pub const LITERAL_VALUE: &str = "Z/2 × Z/2^{n-2}";
4415}
4416
4417pub mod term_u_1_for_all {
4418 pub const VARIABLE_NAME: &str = "n ≥ 3";
4420}
4421
4422pub mod term_u_2_lhs {
4423 pub const LITERAL_VALUE: &str = "R_1× ≅ {1}; R_2× ≅ Z/2";
4425}
4426
4427pub mod term_u_2_rhs {
4428 pub const LITERAL_VALUE: &str = "special cases for small n";
4430}
4431
4432pub mod term_u_2_for_all {
4433 pub const VARIABLE_NAME: &str = "n ∈ {1, 2}";
4435}
4436
4437pub mod term_u_3_lhs {
4438 pub const LITERAL_VALUE: &str = "ord(u)";
4440}
4441
4442pub mod term_u_3_rhs {
4443 pub const LITERAL_VALUE: &str = "lcm(ord((-1)^a), ord(3^b))";
4445}
4446
4447pub mod term_u_3_for_all {
4448 pub const VARIABLE_NAME: &str = "u = (-1)^a · 3^b ∈ R_n×";
4450}
4451
4452pub mod term_u_4_lhs {
4453 pub const LITERAL_VALUE: &str = "ord_g(2)";
4455}
4456
4457pub mod term_u_4_rhs {
4458 pub const LITERAL_VALUE: &str = "divides φ(g)";
4460}
4461
4462pub mod term_u_4_for_all {
4463 pub const VARIABLE_NAME: &str = "g odd";
4465}
4466
4467pub mod term_u_5_lhs {
4468 pub const LITERAL_VALUE: &str = "step_g";
4470}
4471
4472pub mod term_u_5_rhs {
4473 pub const LITERAL_VALUE: &str = "2 * ((g - (2^n mod g)) mod g) + 1";
4475}
4476
4477pub mod term_u_5_for_all {
4478 pub const VARIABLE_NAME: &str = "g odd, g > 1";
4480}
4481
4482pub mod term_ag_1_lhs {
4483 pub const LITERAL_VALUE: &str = "μ_u";
4485}
4486
4487pub mod term_ag_1_rhs {
4488 pub const LITERAL_VALUE: &str = "∉ D_{2^n}";
4490}
4491
4492pub mod term_ag_1_for_all {
4493 pub const VARIABLE_NAME: &str = "u ∈ R_n×, u ≠ ±1";
4495}
4496
4497pub mod term_ag_2_lhs {
4498 pub const LITERAL_VALUE: &str = "Aff(R_n)";
4500}
4501
4502pub mod term_ag_2_rhs {
4503 pub const LITERAL_VALUE: &str = "R_n× ⋉ R_n";
4505}
4506
4507pub mod term_ag_2_for_all {
4508 pub const VARIABLE_NAME: &str = "n ≥ 1";
4510}
4511
4512pub mod term_ag_3_lhs {
4513 pub const LITERAL_VALUE: &str = "|Aff(R_n)|";
4515}
4516
4517pub mod term_ag_3_rhs {
4518 pub const LITERAL_VALUE: &str = "2^{2n-1}";
4520}
4521
4522pub mod term_ag_3_for_all {
4523 pub const VARIABLE_NAME: &str = "n ≥ 1";
4525}
4526
4527pub mod term_ag_4_lhs {
4528 pub const LITERAL_VALUE: &str = "D_{2^n}";
4530}
4531
4532pub mod term_ag_4_rhs {
4533 pub const LITERAL_VALUE: &str = "⊂ Aff(R_n), u ∈ {±1}";
4535}
4536
4537pub mod term_ag_4_for_all {
4538 pub const VARIABLE_NAME: &str = "n ≥ 1";
4540}
4541
4542pub mod term_ca_1_lhs {
4543 pub const LITERAL_VALUE: &str = "add(x,y)_k";
4545}
4546
4547pub mod term_ca_1_rhs {
4548 pub const LITERAL_VALUE: &str = "xor(x_k, xor(y_k, c_k(x,y)))";
4550}
4551
4552pub mod term_ca_1_for_all {
4553 pub const VARIABLE_NAME: &str = "x, y ∈ R_n, 0 ≤ k < n";
4555}
4556
4557pub mod term_ca_2_lhs {
4558 pub const LITERAL_VALUE: &str = "c_{k+1}(x,y)";
4560}
4561
4562pub mod term_ca_2_rhs {
4563 pub const LITERAL_VALUE: &str = "or(and(x_k,y_k), and(xor(x_k,y_k), c_k))";
4565}
4566
4567pub mod term_ca_2_for_all {
4568 pub const VARIABLE_NAME: &str = "x, y ∈ R_n";
4570}
4571
4572pub mod term_ca_3_lhs {
4573 pub const LITERAL_VALUE: &str = "c(x, y)";
4575}
4576
4577pub mod term_ca_3_rhs {
4578 pub const LITERAL_VALUE: &str = "c(y, x)";
4580}
4581
4582pub mod term_ca_3_for_all {
4583 pub const VARIABLE_NAME: &str = "x, y ∈ R_n";
4585}
4586
4587pub mod term_ca_4_lhs {
4588 pub const LITERAL_VALUE: &str = "c(x, 0)";
4590}
4591
4592pub mod term_ca_4_rhs {
4593 pub const LITERAL_VALUE: &str = "0";
4595}
4596
4597pub mod term_ca_4_for_all {
4598 pub const VARIABLE_NAME: &str = "x ∈ R_n, all positions";
4600}
4601
4602pub mod term_ca_5_lhs {
4603 pub const LITERAL_VALUE: &str = "c(x, neg(x))_k";
4605}
4606
4607pub mod term_ca_5_rhs {
4608 pub const LITERAL_VALUE: &str = "1";
4610}
4611
4612pub mod term_ca_5_for_all {
4613 pub const VARIABLE_NAME: &str = "x ∈ R_n, k > v_2(x)";
4615}
4616
4617pub mod term_ca_6_lhs {
4618 pub const LITERAL_VALUE: &str = "d_Δ(x, y) > 0";
4620}
4621
4622pub mod term_ca_6_rhs {
4623 pub const LITERAL_VALUE: &str = "∃ k : c_k(x,y) = 1";
4625}
4626
4627pub mod term_ca_6_for_all {
4628 pub const VARIABLE_NAME: &str = "x, y ∈ R_n";
4630}
4631
4632pub mod term_c_1_lhs {
4633 pub const LITERAL_VALUE: &str = "pins(compose(A, B))";
4635}
4636
4637pub mod term_c_1_rhs {
4638 pub const LITERAL_VALUE: &str = "pins(A) ∪ pins(B)";
4640}
4641
4642pub mod term_c_1_for_all {
4643 pub const VARIABLE_NAME: &str = "constraints A, B";
4645}
4646
4647pub mod term_c_2_lhs {
4648 pub const LITERAL_VALUE: &str = "compose(A, B)";
4650}
4651
4652pub mod term_c_2_rhs {
4653 pub const LITERAL_VALUE: &str = "compose(B, A)";
4655}
4656
4657pub mod term_c_2_for_all {
4658 pub const VARIABLE_NAME: &str = "constraints A, B";
4660}
4661
4662pub mod term_c_3_lhs {
4663 pub const LITERAL_VALUE: &str = "compose(compose(A,B), C)";
4665}
4666
4667pub mod term_c_3_rhs {
4668 pub const LITERAL_VALUE: &str = "compose(A, compose(B,C))";
4670}
4671
4672pub mod term_c_3_for_all {
4673 pub const VARIABLE_NAME: &str = "constraints A, B, C";
4675}
4676
4677pub mod term_c_4_lhs {
4678 pub const LITERAL_VALUE: &str = "compose(A, A)";
4680}
4681
4682pub mod term_c_4_rhs {
4683 pub const LITERAL_VALUE: &str = "A";
4685}
4686
4687pub mod term_c_4_for_all {
4688 pub const VARIABLE_NAME: &str = "constraint A";
4690}
4691
4692pub mod term_c_5_lhs {
4693 pub const LITERAL_VALUE: &str = "compose(A, ε)";
4695}
4696
4697pub mod term_c_5_rhs {
4698 pub const LITERAL_VALUE: &str = "A";
4700}
4701
4702pub mod term_c_5_for_all {
4703 pub const VARIABLE_NAME: &str = "constraint A, identity ε";
4705}
4706
4707pub mod term_c_6_lhs {
4708 pub const LITERAL_VALUE: &str = "compose(A, Ω)";
4710}
4711
4712pub mod term_c_6_rhs {
4713 pub const LITERAL_VALUE: &str = "Ω";
4715}
4716
4717pub mod term_c_6_for_all {
4718 pub const VARIABLE_NAME: &str = "constraint A, annihilator Ω";
4720}
4721
4722pub mod term_cdi_lhs {
4723 pub const LITERAL_VALUE: &str = "carry(residue(T))";
4725}
4726
4727pub mod term_cdi_rhs {
4728 pub const LITERAL_VALUE: &str = "depth(T)";
4730}
4731
4732pub mod term_cdi_for_all {
4733 pub const VARIABLE_NAME: &str = "T ∈ T_n";
4735}
4736
4737pub mod term_cl_1_lhs {
4738 pub const LITERAL_VALUE: &str = "Constraint/≡";
4740}
4741
4742pub mod term_cl_1_rhs {
4743 pub const LITERAL_VALUE: &str = "2^{[n]}";
4745}
4746
4747pub mod term_cl_1_for_all {
4748 pub const VARIABLE_NAME: &str = "constraint equivalence classes";
4750}
4751
4752pub mod term_cl_2_lhs {
4753 pub const LITERAL_VALUE: &str = "A ∨ B";
4755}
4756
4757pub mod term_cl_2_rhs {
4758 pub const LITERAL_VALUE: &str = "compose(A, B)";
4760}
4761
4762pub mod term_cl_2_for_all {
4763 pub const VARIABLE_NAME: &str = "constraints A, B";
4765}
4766
4767pub mod term_cl_3_lhs {
4768 pub const LITERAL_VALUE: &str = "pins(A ∧ B)";
4770}
4771
4772pub mod term_cl_3_rhs {
4773 pub const LITERAL_VALUE: &str = "pins(A) ∩ pins(B)";
4775}
4776
4777pub mod term_cl_3_for_all {
4778 pub const VARIABLE_NAME: &str = "constraints A, B";
4780}
4781
4782pub mod term_cl_4_lhs {
4783 pub const LITERAL_VALUE: &str = "(A ∨ B) ∧ C";
4785}
4786
4787pub mod term_cl_4_rhs {
4788 pub const LITERAL_VALUE: &str = "(A ∧ C) ∨ (B ∧ C)";
4790}
4791
4792pub mod term_cl_4_for_all {
4793 pub const VARIABLE_NAME: &str = "constraints A, B, C";
4795}
4796
4797pub mod term_cl_5_lhs {
4798 pub const LITERAL_VALUE: &str = "A ∧ A̅ = ε, A ∨ A̅ = Ω";
4800}
4801
4802pub mod term_cl_5_rhs {
4803 pub const LITERAL_VALUE: &str = "∃ A̅ (complement)";
4805}
4806
4807pub mod term_cl_5_for_all {
4808 pub const VARIABLE_NAME: &str = "constraint A";
4810}
4811
4812pub mod term_cm_1_lhs {
4813 pub const LITERAL_VALUE: &str = "C_i redundant in {C_1,...,C_k}";
4815}
4816
4817pub mod term_cm_1_rhs {
4818 pub const LITERAL_VALUE: &str = "pins(C_i) ⊆ ∪_{j≠i} pins(C_j)";
4820}
4821
4822pub mod term_cm_1_for_all {
4823 pub const VARIABLE_NAME: &str = "constraint set {C_1,...,C_k}";
4825}
4826
4827pub mod term_cm_2_lhs {
4828 pub const LITERAL_VALUE: &str = "minimal cover";
4830}
4831
4832pub mod term_cm_2_rhs {
4833 pub const LITERAL_VALUE: &str = "irredundant sub-collection (greedy removal)";
4835}
4836
4837pub mod term_cm_2_for_all {
4838 pub const VARIABLE_NAME: &str = "CompositeConstraint";
4840}
4841
4842pub mod term_cm_3_lhs {
4843 pub const LITERAL_VALUE: &str = "min constraints to cover n sites";
4845}
4846
4847pub mod term_cm_3_rhs {
4848 pub const LITERAL_VALUE: &str = "⌈n / max_k pins_per_constraint_k⌉";
4850}
4851
4852pub mod term_cm_3_for_all {
4853 pub const VARIABLE_NAME: &str = "n sites, constraint set";
4855}
4856
4857pub mod term_cr_1_lhs {
4858 pub const LITERAL_VALUE: &str = "cost(ResidueConstraint(m, r))";
4860}
4861
4862pub mod term_cr_1_rhs {
4863 pub const LITERAL_VALUE: &str = "step_m = 2 × ((−2^n) mod m) + 1";
4865}
4866
4867pub mod term_cr_1_for_all {
4868 pub const VARIABLE_NAME: &str = "ResidueConstraint";
4870}
4871
4872pub mod term_cr_2_lhs {
4873 pub const LITERAL_VALUE: &str = "cost(CarryConstraint(p))";
4875}
4876
4877pub mod term_cr_2_rhs {
4878 pub const LITERAL_VALUE: &str = "popcount(p)";
4880}
4881
4882pub mod term_cr_2_for_all {
4883 pub const VARIABLE_NAME: &str = "CarryConstraint";
4885}
4886
4887pub mod term_cr_3_lhs {
4888 pub const LITERAL_VALUE: &str = "cost(DepthConstraint(d_min, d_max))";
4890}
4891
4892pub mod term_cr_3_rhs {
4893 pub const LITERAL_VALUE: &str = "cost(residue) + cost(carry)";
4895}
4896
4897pub mod term_cr_3_for_all {
4898 pub const VARIABLE_NAME: &str = "DepthConstraint";
4900}
4901
4902pub mod term_cr_4_lhs {
4903 pub const LITERAL_VALUE: &str = "cost(compose(A, B))";
4905}
4906
4907pub mod term_cr_4_rhs {
4908 pub const LITERAL_VALUE: &str = "≤ cost(A) + cost(B)";
4910}
4911
4912pub mod term_cr_4_for_all {
4913 pub const VARIABLE_NAME: &str = "constraints A, B";
4915}
4916
4917pub mod term_cr_5_lhs {
4918 pub const LITERAL_VALUE: &str = "optimal resolution order";
4920}
4921
4922pub mod term_cr_5_rhs {
4923 pub const LITERAL_VALUE: &str = "increasing cost order";
4925}
4926
4927pub mod term_cr_5_for_all {
4928 pub const VARIABLE_NAME: &str = "constraint set";
4930}
4931
4932pub mod term_f_1_lhs {
4933 pub const LITERAL_VALUE: &str = "pinned site";
4935}
4936
4937pub mod term_f_1_rhs {
4938 pub const LITERAL_VALUE: &str = "cannot be unpinned";
4940}
4941
4942pub mod term_f_1_for_all {
4943 pub const VARIABLE_NAME: &str = "SiteIndex";
4945}
4946
4947pub mod term_f_2_lhs {
4948 pub const LITERAL_VALUE: &str = "pin operations to close";
4950}
4951
4952pub mod term_f_2_rhs {
4953 pub const LITERAL_VALUE: &str = "≤ n";
4955}
4956
4957pub mod term_f_2_for_all {
4958 pub const VARIABLE_NAME: &str = "FreeRank";
4960}
4961
4962pub mod term_f_3_lhs {
4963 pub const LITERAL_VALUE: &str = "pinnedCount + freeRank";
4965}
4966
4967pub mod term_f_3_rhs {
4968 pub const LITERAL_VALUE: &str = "totalSites = n";
4970}
4971
4972pub mod term_f_3_for_all {
4973 pub const VARIABLE_NAME: &str = "FreeRank";
4975}
4976
4977pub mod term_f_4_lhs {
4978 pub const LITERAL_VALUE: &str = "isClosed";
4980}
4981
4982pub mod term_f_4_rhs {
4983 pub const LITERAL_VALUE: &str = "freeRank = 0 ⇔ pinnedCount = n";
4985}
4986
4987pub mod term_f_4_for_all {
4988 pub const VARIABLE_NAME: &str = "FreeRank";
4990}
4991
4992pub mod term_fl_1_lhs {
4993 pub const LITERAL_VALUE: &str = "⊥";
4995}
4996
4997pub mod term_fl_1_rhs {
4998 pub const LITERAL_VALUE: &str = "all sites free (freeRank = n)";
5000}
5001
5002pub mod term_fl_1_for_all {
5003 pub const VARIABLE_NAME: &str = "FreeRank lattice";
5005}
5006
5007pub mod term_fl_2_lhs {
5008 pub const LITERAL_VALUE: &str = "⊤";
5010}
5011
5012pub mod term_fl_2_rhs {
5013 pub const LITERAL_VALUE: &str = "all sites pinned (pinnedCount = n)";
5015}
5016
5017pub mod term_fl_2_for_all {
5018 pub const VARIABLE_NAME: &str = "FreeRank lattice";
5020}
5021
5022pub mod term_fl_3_lhs {
5023 pub const LITERAL_VALUE: &str = "join(S₁, S₂)";
5025}
5026
5027pub mod term_fl_3_rhs {
5028 pub const LITERAL_VALUE: &str = "union of pinnings from S₁ and S₂";
5030}
5031
5032pub mod term_fl_3_for_all {
5033 pub const VARIABLE_NAME: &str = "FreeRank states S₁, S₂";
5035}
5036
5037pub mod term_fl_4_lhs {
5038 pub const LITERAL_VALUE: &str = "lattice height";
5040}
5041
5042pub mod term_fl_4_rhs {
5043 pub const LITERAL_VALUE: &str = "n";
5045}
5046
5047pub mod term_fl_4_for_all {
5048 pub const VARIABLE_NAME: &str = "FreeRank lattice";
5050}
5051
5052pub mod term_fpm_1_lhs {
5053 pub const LITERAL_VALUE: &str = "x ∈ Unit";
5055}
5056
5057pub mod term_fpm_1_rhs {
5058 pub const LITERAL_VALUE: &str = "site_0(x) = 1 (x is odd)";
5060}
5061
5062pub mod term_fpm_1_for_all {
5063 pub const VARIABLE_NAME: &str = "x ∈ R_n";
5065}
5066
5067pub mod term_fpm_2_lhs {
5068 pub const LITERAL_VALUE: &str = "x ∈ Exterior";
5070}
5071
5072pub mod term_fpm_2_rhs {
5073 pub const LITERAL_VALUE: &str = "x ∉ carrier(T)";
5075}
5076
5077pub mod term_fpm_2_for_all {
5078 pub const VARIABLE_NAME: &str = "x ∈ R_n, type T";
5080}
5081
5082pub mod term_fpm_3_lhs {
5083 pub const LITERAL_VALUE: &str = "x ∈ Irreducible";
5085}
5086
5087pub mod term_fpm_3_rhs {
5088 pub const LITERAL_VALUE: &str = "x ∉ Unit ∪ Exterior AND no non-trivial factorization";
5090}
5091
5092pub mod term_fpm_3_for_all {
5093 pub const VARIABLE_NAME: &str = "x ∈ R_n";
5095}
5096
5097pub mod term_fpm_4_lhs {
5098 pub const LITERAL_VALUE: &str = "x ∈ Reducible";
5100}
5101
5102pub mod term_fpm_4_rhs {
5103 pub const LITERAL_VALUE: &str = "x ∉ Unit ∪ Exterior ∪ Irreducible";
5105}
5106
5107pub mod term_fpm_4_for_all {
5108 pub const VARIABLE_NAME: &str = "x ∈ R_n";
5110}
5111
5112pub mod term_fpm_5_lhs {
5113 pub const LITERAL_VALUE: &str = "x = 2^{v(x)} ⋅ u";
5115}
5116
5117pub mod term_fpm_5_rhs {
5118 pub const LITERAL_VALUE: &str = "u odd, v(x) = min position of 1-bit";
5120}
5121
5122pub mod term_fpm_5_for_all {
5123 pub const VARIABLE_NAME: &str = "x ∈ R_n";
5125}
5126
5127pub mod term_fpm_6_lhs {
5128 pub const LITERAL_VALUE: &str = "|{x: v(x) = k}|";
5130}
5131
5132pub mod term_fpm_6_rhs {
5133 pub const LITERAL_VALUE: &str = "2^{n−k−1} for 0 < k < n; 1 for k = n";
5135}
5136
5137pub mod term_fpm_6_for_all {
5138 pub const VARIABLE_NAME: &str = "R_n";
5140}
5141
5142pub mod term_fpm_7_lhs {
5143 pub const LITERAL_VALUE: &str = "base type partition";
5145}
5146
5147pub mod term_fpm_7_rhs {
5148 pub const LITERAL_VALUE: &str = "|Unit| = 2^{n−1}; |Irr| = 2^{n−2}; |Red| = 2^{n−2}";
5150}
5151
5152pub mod term_fpm_7_for_all {
5153 pub const VARIABLE_NAME: &str = "R_n, n ≥ 3";
5155}
5156
5157pub mod term_fs_1_lhs {
5158 pub const LITERAL_VALUE: &str = "site_k(x)";
5160}
5161
5162pub mod term_fs_1_rhs {
5163 pub const LITERAL_VALUE: &str = "(x >> k) AND 1";
5165}
5166
5167pub mod term_fs_1_for_all {
5168 pub const VARIABLE_NAME: &str = "x ∈ R_n, 0 ≤ k < n";
5170}
5171
5172pub mod term_fs_2_lhs {
5173 pub const LITERAL_VALUE: &str = "site_0(x)";
5175}
5176
5177pub mod term_fs_2_rhs {
5178 pub const LITERAL_VALUE: &str = "x mod 2 (parity)";
5180}
5181
5182pub mod term_fs_2_for_all {
5183 pub const VARIABLE_NAME: &str = "x ∈ R_n";
5185}
5186
5187pub mod term_fs_3_lhs {
5188 pub const LITERAL_VALUE: &str = "site_k(x) given sites 0..k−1";
5190}
5191
5192pub mod term_fs_3_rhs {
5193 pub const LITERAL_VALUE: &str = "determines x mod 2^{k+1}";
5195}
5196
5197pub mod term_fs_3_for_all {
5198 pub const VARIABLE_NAME: &str = "x ∈ R_n";
5200}
5201
5202pub mod term_fs_4_lhs {
5203 pub const LITERAL_VALUE: &str = "sites 0..k together";
5205}
5206
5207pub mod term_fs_4_rhs {
5208 pub const LITERAL_VALUE: &str = "determine x mod 2^{k+1}";
5210}
5211
5212pub mod term_fs_4_for_all {
5213 pub const VARIABLE_NAME: &str = "x ∈ R_n";
5215}
5216
5217pub mod term_fs_5_lhs {
5218 pub const LITERAL_VALUE: &str = "all n sites";
5220}
5221
5222pub mod term_fs_5_rhs {
5223 pub const LITERAL_VALUE: &str = "determine x uniquely";
5225}
5226
5227pub mod term_fs_5_for_all {
5228 pub const VARIABLE_NAME: &str = "x ∈ R_n";
5230}
5231
5232pub mod term_fs_6_lhs {
5233 pub const LITERAL_VALUE: &str = "stratum(x)";
5235}
5236
5237pub mod term_fs_6_rhs {
5238 pub const LITERAL_VALUE: &str = "v_2(x) = min{k : site_k(x) = 1}";
5240}
5241
5242pub mod term_fs_6_for_all {
5243 pub const VARIABLE_NAME: &str = "x ∈ R_n";
5245}
5246
5247pub mod term_fs_7_lhs {
5248 pub const LITERAL_VALUE: &str = "depth(x)";
5250}
5251
5252pub mod term_fs_7_rhs {
5253 pub const LITERAL_VALUE: &str = "≤ v_2(x) for irreducible elements";
5255}
5256
5257pub mod term_fs_7_for_all {
5258 pub const VARIABLE_NAME: &str = "x ∈ R_n, base type";
5260}
5261
5262pub mod term_re_1_lhs {
5263 pub const LITERAL_VALUE: &str = "Π_D(T)";
5265}
5266
5267pub mod term_re_1_rhs {
5268 pub const LITERAL_VALUE: &str = "Π_C(T) = Π_E(T)";
5270}
5271
5272pub mod term_re_1_for_all {
5273 pub const VARIABLE_NAME: &str = "T ∈ T_n";
5275}
5276
5277pub mod term_ir_1_lhs {
5278 pub const LITERAL_VALUE: &str = "pinnedCount(state_{i+1})";
5280}
5281
5282pub mod term_ir_1_rhs {
5283 pub const LITERAL_VALUE: &str = "≥ pinnedCount(state_i)";
5285}
5286
5287pub mod term_ir_1_for_all {
5288 pub const VARIABLE_NAME: &str = "resolution states";
5290}
5291
5292pub mod term_ir_2_lhs {
5293 pub const LITERAL_VALUE: &str = "iterations to converge";
5295}
5296
5297pub mod term_ir_2_rhs {
5298 pub const LITERAL_VALUE: &str = "≤ n";
5300}
5301
5302pub mod term_ir_2_for_all {
5303 pub const VARIABLE_NAME: &str = "resolution loop";
5305}
5306
5307pub mod term_ir_3_lhs {
5308 pub const LITERAL_VALUE: &str = "convergenceRate";
5310}
5311
5312pub mod term_ir_3_rhs {
5313 pub const LITERAL_VALUE: &str = "pinnedCount / iterationCount";
5315}
5316
5317pub mod term_ir_3_for_all {
5318 pub const VARIABLE_NAME: &str = "ResolutionState";
5320}
5321
5322pub mod term_ir_4_lhs {
5323 pub const LITERAL_VALUE: &str = "constraint set spans all sites";
5325}
5326
5327pub mod term_ir_4_rhs {
5328 pub const LITERAL_VALUE: &str = "loop terminates";
5330}
5331
5332pub mod term_ir_4_for_all {
5333 pub const VARIABLE_NAME: &str = "complete constraint set";
5335}
5336
5337pub mod term_sf_1_lhs {
5338 pub const LITERAL_VALUE: &str = "n ≡ 0 (mod ord_g(2))";
5340}
5341
5342pub mod term_sf_1_rhs {
5343 pub const LITERAL_VALUE: &str = "factor g has optimal resolution at level n";
5345}
5346
5347pub mod term_sf_1_for_all {
5348 pub const VARIABLE_NAME: &str = "factor g, quantum n";
5350}
5351
5352pub mod term_sf_2_lhs {
5353 pub const LITERAL_VALUE: &str = "constraints with smaller step_g";
5355}
5356
5357pub mod term_sf_2_rhs {
5358 pub const LITERAL_VALUE: &str = "are more constraining, apply first";
5360}
5361
5362pub mod term_sf_2_for_all {
5363 pub const VARIABLE_NAME: &str = "constraint ordering";
5365}
5366
5367pub mod term_rd_1_lhs {
5368 pub const LITERAL_VALUE: &str = "same type T and constraint sequence";
5370}
5371
5372pub mod term_rd_1_rhs {
5373 pub const LITERAL_VALUE: &str = "unique resolved partition";
5375}
5376
5377pub mod term_rd_1_for_all {
5378 pub const VARIABLE_NAME: &str = "T ∈ T_n, [C₁,...,Cₖ]";
5380}
5381
5382pub mod term_rd_2_lhs {
5383 pub const LITERAL_VALUE: &str = "complete constraint set, any order";
5385}
5386
5387pub mod term_rd_2_rhs {
5388 pub const LITERAL_VALUE: &str = "same final partition";
5390}
5391
5392pub mod term_rd_2_for_all {
5393 pub const VARIABLE_NAME: &str = "closing constraint set";
5395}
5396
5397pub mod term_se_1_lhs {
5398 pub const LITERAL_VALUE: &str = "EvaluationResolver";
5400}
5401
5402pub mod term_se_1_rhs {
5403 pub const LITERAL_VALUE: &str = "directly computes set-theoretic partition";
5405}
5406
5407pub mod term_se_1_for_all {
5408 pub const VARIABLE_NAME: &str = "T ∈ T_n";
5410}
5411
5412pub mod term_se_2_lhs {
5413 pub const LITERAL_VALUE: &str = "DihedralFactorizationResolver";
5415}
5416
5417pub mod term_se_2_rhs {
5418 pub const LITERAL_VALUE: &str = "orbit decomposition yields same partition";
5420}
5421
5422pub mod term_se_2_for_all {
5423 pub const VARIABLE_NAME: &str = "T ∈ T_n";
5425}
5426
5427pub mod term_se_3_lhs {
5428 pub const LITERAL_VALUE: &str = "CanonicalFormResolver";
5430}
5431
5432pub mod term_se_3_rhs {
5433 pub const LITERAL_VALUE: &str = "confluent rewrite → same partition";
5435}
5436
5437pub mod term_se_3_for_all {
5438 pub const VARIABLE_NAME: &str = "T ∈ T_n";
5440}
5441
5442pub mod term_se_4_lhs {
5443 pub const LITERAL_VALUE: &str = "Π_D(T) = Π_C(T) = Π_E(T)";
5445}
5446
5447pub mod term_se_4_rhs {
5448 pub const LITERAL_VALUE: &str = "all compute same set-theoretic partition";
5450}
5451
5452pub mod term_se_4_for_all {
5453 pub const VARIABLE_NAME: &str = "T ∈ T_n";
5455}
5456
5457pub mod term_oo_1_lhs {
5458 pub const LITERAL_VALUE: &str = "benefit(C_i, S)";
5460}
5461
5462pub mod term_oo_1_rhs {
5463 pub const LITERAL_VALUE: &str = "|pins(C_i) ∖ S|";
5465}
5466
5467pub mod term_oo_1_for_all {
5468 pub const VARIABLE_NAME: &str = "constraint C_i, pinned set S";
5470}
5471
5472pub mod term_oo_2_lhs {
5473 pub const LITERAL_VALUE: &str = "cost(C_i)";
5475}
5476
5477pub mod term_oo_2_rhs {
5478 pub const LITERAL_VALUE: &str = "step_{m_i} or popcount(p_i)";
5480}
5481
5482pub mod term_oo_2_for_all {
5483 pub const VARIABLE_NAME: &str = "ResidueConstraint or CarryConstraint";
5485}
5486
5487pub mod term_oo_3_lhs {
5488 pub const LITERAL_VALUE: &str = "greedy selection";
5490}
5491
5492pub mod term_oo_3_rhs {
5493 pub const LITERAL_VALUE: &str = "argmax benefit(C_i, S) / cost(C_i)";
5495}
5496
5497pub mod term_oo_3_for_all {
5498 pub const VARIABLE_NAME: &str = "each resolution step";
5500}
5501
5502pub mod term_oo_4_lhs {
5503 pub const LITERAL_VALUE: &str = "greedy approximation";
5505}
5506
5507pub mod term_oo_4_rhs {
5508 pub const LITERAL_VALUE: &str = "(1 − 1/e) ≈ 63% of optimal";
5510}
5511
5512pub mod term_oo_4_for_all {
5513 pub const VARIABLE_NAME: &str = "weighted set cover";
5515}
5516
5517pub mod term_oo_5_lhs {
5518 pub const LITERAL_VALUE: &str = "equal cost tiebreaker";
5520}
5521
5522pub mod term_oo_5_rhs {
5523 pub const LITERAL_VALUE: &str = "prefer vertical (residue) before horizontal (carry)";
5525}
5526
5527pub mod term_oo_5_for_all {
5528 pub const VARIABLE_NAME: &str = "cost-tied constraints";
5530}
5531
5532pub mod term_cb_1_lhs {
5533 pub const LITERAL_VALUE: &str = "min convergenceRate";
5535}
5536
5537pub mod term_cb_1_rhs {
5538 pub const LITERAL_VALUE: &str = "1 site per iteration";
5540}
5541
5542pub mod term_cb_1_for_all {
5543 pub const VARIABLE_NAME: &str = "worst case";
5545}
5546
5547pub mod term_cb_2_lhs {
5548 pub const LITERAL_VALUE: &str = "max convergenceRate";
5550}
5551
5552pub mod term_cb_2_rhs {
5553 pub const LITERAL_VALUE: &str = "n sites in 1 iteration";
5555}
5556
5557pub mod term_cb_2_for_all {
5558 pub const VARIABLE_NAME: &str = "best case";
5560}
5561
5562pub mod term_cb_3_lhs {
5563 pub const LITERAL_VALUE: &str = "expected rate (residue)";
5565}
5566
5567pub mod term_cb_3_rhs {
5568 pub const LITERAL_VALUE: &str = "⌊log_2(m)⌋ sites per constraint";
5570}
5571
5572pub mod term_cb_3_for_all {
5573 pub const VARIABLE_NAME: &str = "ResidueConstraint(m, r)";
5575}
5576
5577pub mod term_cb_4_lhs {
5578 pub const LITERAL_VALUE: &str = "convergenceRate < 1 for 2 iterations";
5580}
5581
5582pub mod term_cb_4_rhs {
5583 pub const LITERAL_VALUE: &str = "constraint set may be insufficient";
5585}
5586
5587pub mod term_cb_4_for_all {
5588 pub const VARIABLE_NAME: &str = "stall detection";
5590}
5591
5592pub mod term_cb_5_lhs {
5593 pub const LITERAL_VALUE: &str = "∪_i pins(C_i) = {0,...,n−1}";
5595}
5596
5597pub mod term_cb_5_rhs {
5598 pub const LITERAL_VALUE: &str = "constraint set closes budget";
5600}
5601
5602pub mod term_cb_5_for_all {
5603 pub const VARIABLE_NAME: &str = "sufficiency criterion";
5605}
5606
5607pub mod term_cb_6_lhs {
5608 pub const LITERAL_VALUE: &str = "iterations for k constraints";
5610}
5611
5612pub mod term_cb_6_rhs {
5613 pub const LITERAL_VALUE: &str = "≤ min(k, n)";
5615}
5616
5617pub mod term_cb_6_for_all {
5618 pub const VARIABLE_NAME: &str = "well-formed model";
5620}
5621
5622pub mod term_ob_m1_lhs {
5623 pub const LITERAL_VALUE: &str = "d_R(x, z)";
5625}
5626
5627pub mod term_ob_m1_rhs {
5628 pub const LITERAL_VALUE: &str = "≤ d_R(x, y) + d_R(y, z)";
5630}
5631
5632pub mod term_ob_m1_for_all {
5633 pub const VARIABLE_NAME: &str = "x, y, z ∈ R_n";
5635}
5636
5637pub mod term_ob_m2_lhs {
5638 pub const LITERAL_VALUE: &str = "d_H(x, z)";
5640}
5641
5642pub mod term_ob_m2_rhs {
5643 pub const LITERAL_VALUE: &str = "≤ d_H(x, y) + d_H(y, z)";
5645}
5646
5647pub mod term_ob_m2_for_all {
5648 pub const VARIABLE_NAME: &str = "x, y, z ∈ R_n";
5650}
5651
5652pub mod term_ob_m3_lhs {
5653 pub const LITERAL_VALUE: &str = "d_Δ(x, y)";
5655}
5656
5657pub mod term_ob_m3_rhs {
5658 pub const LITERAL_VALUE: &str = "|d_R(x, y) − d_H(x, y)|";
5660}
5661
5662pub mod term_ob_m3_for_all {
5663 pub const VARIABLE_NAME: &str = "x, y ∈ R_n";
5665}
5666
5667pub mod term_ob_m4_lhs {
5668 pub const LITERAL_VALUE: &str = "d_R(neg(x), neg(y))";
5670}
5671
5672pub mod term_ob_m4_rhs {
5673 pub const LITERAL_VALUE: &str = "d_R(x, y)";
5675}
5676
5677pub mod term_ob_m4_for_all {
5678 pub const VARIABLE_NAME: &str = "x, y ∈ R_n";
5680}
5681
5682pub mod term_ob_m5_lhs {
5683 pub const LITERAL_VALUE: &str = "d_H(bnot(x), bnot(y))";
5685}
5686
5687pub mod term_ob_m5_rhs {
5688 pub const LITERAL_VALUE: &str = "d_H(x, y)";
5690}
5691
5692pub mod term_ob_m5_for_all {
5693 pub const VARIABLE_NAME: &str = "x, y ∈ R_n";
5695}
5696
5697pub mod term_ob_m6_lhs {
5698 pub const LITERAL_VALUE: &str = "d_R(succ(x), succ(y))";
5700}
5701
5702pub mod term_ob_m6_rhs {
5703 pub const LITERAL_VALUE: &str = "d_R(x, y) but d_H may differ";
5705}
5706
5707pub mod term_ob_m6_for_all {
5708 pub const VARIABLE_NAME: &str = "x, y ∈ R_n";
5710}
5711
5712pub mod term_ob_c1_lhs {
5713 pub const LITERAL_VALUE: &str = "[neg, bnot](x)";
5715}
5716
5717pub mod term_ob_c1_rhs {
5718 pub const LITERAL_VALUE: &str = "2";
5720}
5721
5722pub mod term_ob_c1_for_all {
5723 pub const VARIABLE_NAME: &str = "x ∈ R_n";
5725}
5726
5727pub mod term_ob_c2_lhs {
5728 pub const LITERAL_VALUE: &str = "[neg, add(•,k)](x)";
5730}
5731
5732pub mod term_ob_c2_rhs {
5733 pub const LITERAL_VALUE: &str = "−2k mod 2^n";
5735}
5736
5737pub mod term_ob_c2_for_all {
5738 pub const VARIABLE_NAME: &str = "x ∈ R_n, constant k";
5740}
5741
5742pub mod term_ob_c3_lhs {
5743 pub const LITERAL_VALUE: &str = "[bnot, xor(•,k)](x)";
5745}
5746
5747pub mod term_ob_c3_rhs {
5748 pub const LITERAL_VALUE: &str = "0";
5750}
5751
5752pub mod term_ob_c3_for_all {
5753 pub const VARIABLE_NAME: &str = "x ∈ R_n, constant k";
5755}
5756
5757pub mod term_ob_h1_lhs {
5758 pub const LITERAL_VALUE: &str = "closed additive path monodromy";
5760}
5761
5762pub mod term_ob_h1_rhs {
5763 pub const LITERAL_VALUE: &str = "trivial (abelian ⇒ path-independent)";
5765}
5766
5767pub mod term_ob_h1_for_all {
5768 pub const VARIABLE_NAME: &str = "additive group";
5770}
5771
5772pub mod term_ob_h2_lhs {
5773 pub const LITERAL_VALUE: &str = "closed {neg,bnot} path monodromy";
5775}
5776
5777pub mod term_ob_h2_rhs {
5778 pub const LITERAL_VALUE: &str = "∈ D_{2^n}";
5780}
5781
5782pub mod term_ob_h2_for_all {
5783 pub const VARIABLE_NAME: &str = "dihedral generators";
5785}
5786
5787pub mod term_ob_h3_lhs {
5788 pub const LITERAL_VALUE: &str = "succ-only path WindingNumber";
5790}
5791
5792pub mod term_ob_h3_rhs {
5793 pub const LITERAL_VALUE: &str = "path length / 2^n";
5795}
5796
5797pub mod term_ob_h3_for_all {
5798 pub const VARIABLE_NAME: &str = "closed succ path";
5800}
5801
5802pub mod term_ob_p1_lhs {
5803 pub const LITERAL_VALUE: &str = "PathLength(p₁ ⋅ p₂)";
5805}
5806
5807pub mod term_ob_p1_rhs {
5808 pub const LITERAL_VALUE: &str = "PathLength(p₁) + PathLength(p₂)";
5810}
5811
5812pub mod term_ob_p1_for_all {
5813 pub const VARIABLE_NAME: &str = "paths p₁, p₂";
5815}
5816
5817pub mod term_ob_p2_lhs {
5818 pub const LITERAL_VALUE: &str = "TotalVariation(p₁ ⋅ p₂)";
5820}
5821
5822pub mod term_ob_p2_rhs {
5823 pub const LITERAL_VALUE: &str = "≤ TotalVariation(p₁) + TotalVariation(p₂)";
5825}
5826
5827pub mod term_ob_p2_for_all {
5828 pub const VARIABLE_NAME: &str = "paths p₁, p₂";
5830}
5831
5832pub mod term_ob_p3_lhs {
5833 pub const LITERAL_VALUE: &str = "ReductionLength(c₁ ; c₂)";
5835}
5836
5837pub mod term_ob_p3_rhs {
5838 pub const LITERAL_VALUE: &str = "ReductionLength(c₁) + ReductionLength(c₂)";
5840}
5841
5842pub mod term_ob_p3_for_all {
5843 pub const VARIABLE_NAME: &str = "reductions c₁, c₂";
5845}
5846
5847pub mod term_ct_1_lhs {
5848 pub const LITERAL_VALUE: &str = "catastrophe boundaries";
5850}
5851
5852pub mod term_ct_1_rhs {
5853 pub const LITERAL_VALUE: &str = "g = 2^k for 1 ≤ k ≤ n−1";
5855}
5856
5857pub mod term_ct_1_for_all {
5858 pub const VARIABLE_NAME: &str = "stratum transitions";
5860}
5861
5862pub mod term_ct_2_lhs {
5863 pub const LITERAL_VALUE: &str = "odd prime catastrophe";
5865}
5866
5867pub mod term_ct_2_rhs {
5868 pub const LITERAL_VALUE: &str = "ResidueConstraint(p, •) transitions visibility";
5870}
5871
5872pub mod term_ct_2_for_all {
5873 pub const VARIABLE_NAME: &str = "odd prime p";
5875}
5876
5877pub mod term_ct_3_lhs {
5878 pub const LITERAL_VALUE: &str = "CatastropheThreshold(g)";
5880}
5881
5882pub mod term_ct_3_rhs {
5883 pub const LITERAL_VALUE: &str = "step_g / n";
5885}
5886
5887pub mod term_ct_3_for_all {
5888 pub const VARIABLE_NAME: &str = "factor g";
5890}
5891
5892pub mod term_ct_4_lhs {
5893 pub const LITERAL_VALUE: &str = "composite catastrophe g = p⋅q";
5895}
5896
5897pub mod term_ct_4_rhs {
5898 pub const LITERAL_VALUE: &str = "max(step_p, step_q) / n";
5900}
5901
5902pub mod term_ct_4_for_all {
5903 pub const VARIABLE_NAME: &str = "composite g";
5905}
5906
5907pub mod term_cf_1_lhs {
5908 pub const LITERAL_VALUE: &str = "CurvatureFlux(γ)";
5910}
5911
5912pub mod term_cf_1_rhs {
5913 pub const LITERAL_VALUE: &str = "Σ |d_R(x_i, x_{i+1}) − d_H(x_i, x_{i+1})|";
5915}
5916
5917pub mod term_cf_1_for_all {
5918 pub const VARIABLE_NAME: &str = "path γ";
5920}
5921
5922pub mod term_cf_2_lhs {
5923 pub const LITERAL_VALUE: &str = "ResolutionCost(T)";
5925}
5926
5927pub mod term_cf_2_rhs {
5928 pub const LITERAL_VALUE: &str = "≥ CurvatureFlux(γ_opt)";
5930}
5931
5932pub mod term_cf_2_for_all {
5933 pub const VARIABLE_NAME: &str = "type T";
5935}
5936
5937pub mod term_cf_3_lhs {
5938 pub const LITERAL_VALUE: &str = "CurvatureFlux(x, succ(x))";
5940}
5941
5942pub mod term_cf_3_rhs {
5943 pub const LITERAL_VALUE: &str = "trailing_ones(x) for t < n; n−1 for x = 2^n−1";
5945}
5946
5947pub mod term_cf_3_for_all {
5948 pub const VARIABLE_NAME: &str = "x ∈ R_n";
5950}
5951
5952pub mod term_cf_4_lhs {
5953 pub const LITERAL_VALUE: &str = "Σ_{x ∈ R_n} CurvatureFlux(x, succ(x))";
5955}
5956
5957pub mod term_cf_4_rhs {
5958 pub const LITERAL_VALUE: &str = "2^n − 2";
5960}
5961
5962pub mod term_cf_4_for_all {
5963 pub const VARIABLE_NAME: &str = "n ≥ 1";
5965}
5966
5967pub mod term_hg_1_lhs {
5968 pub const LITERAL_VALUE: &str = "additive holonomy";
5970}
5971
5972pub mod term_hg_1_rhs {
5973 pub const LITERAL_VALUE: &str = "trivial (abelian ⇒ path-independent)";
5975}
5976
5977pub mod term_hg_1_for_all {
5978 pub const VARIABLE_NAME: &str = "additive group";
5980}
5981
5982pub mod term_hg_2_lhs {
5983 pub const LITERAL_VALUE: &str = "{neg, bnot, succ, pred} holonomy";
5985}
5986
5987pub mod term_hg_2_rhs {
5988 pub const LITERAL_VALUE: &str = "D_{2^n}";
5990}
5991
5992pub mod term_hg_2_for_all {
5993 pub const VARIABLE_NAME: &str = "dihedral generators";
5995}
5996
5997pub mod term_hg_3_lhs {
5998 pub const LITERAL_VALUE: &str = "{mul(•, u) : u ∈ R_n×} holonomy";
6000}
6001
6002pub mod term_hg_3_rhs {
6003 pub const LITERAL_VALUE: &str = "R_n× ≅ Z/2 × Z/2^{n−2}";
6005}
6006
6007pub mod term_hg_3_for_all {
6008 pub const VARIABLE_NAME: &str = "unit group";
6010}
6011
6012pub mod term_hg_4_lhs {
6013 pub const LITERAL_VALUE: &str = "Hol(R_n)";
6015}
6016
6017pub mod term_hg_4_rhs {
6018 pub const LITERAL_VALUE: &str = "Aff(R_n) = R_n× ⋉ R_n";
6020}
6021
6022pub mod term_hg_4_for_all {
6023 pub const VARIABLE_NAME: &str = "n ≥ 1";
6025}
6026
6027pub mod term_hg_5_lhs {
6028 pub const LITERAL_VALUE: &str = "Hol(R_n) decomposition";
6030}
6031
6032pub mod term_hg_5_rhs {
6033 pub const LITERAL_VALUE: &str = "D_{2^n} ⋅ {mul(•,u) : u ∈ R_n×, u ≠ ±1}";
6035}
6036
6037pub mod term_hg_5_for_all {
6038 pub const VARIABLE_NAME: &str = "n ≥ 1";
6040}
6041
6042pub mod term_t_c1_lhs {
6043 pub const LITERAL_VALUE: &str = "compose(id, f)";
6045}
6046
6047pub mod term_t_c1_rhs {
6048 pub const LITERAL_VALUE: &str = "f";
6050}
6051
6052pub mod term_t_c1_for_all {
6053 pub const VARIABLE_NAME: &str = "f ∈ Transform";
6055}
6056
6057pub mod term_t_c2_lhs {
6058 pub const LITERAL_VALUE: &str = "compose(f, id)";
6060}
6061
6062pub mod term_t_c2_rhs {
6063 pub const LITERAL_VALUE: &str = "f";
6065}
6066
6067pub mod term_t_c2_for_all {
6068 pub const VARIABLE_NAME: &str = "f ∈ Transform";
6070}
6071
6072pub mod term_t_c3_lhs {
6073 pub const LITERAL_VALUE: &str = "compose(f, compose(g, h))";
6075}
6076
6077pub mod term_t_c3_rhs {
6078 pub const LITERAL_VALUE: &str = "compose(compose(f, g), h)";
6080}
6081
6082pub mod term_t_c3_for_all {
6083 pub const VARIABLE_NAME: &str = "f, g, h ∈ Transform";
6085}
6086
6087pub mod term_t_c4_lhs {
6088 pub const LITERAL_VALUE: &str = "f composesWith g";
6090}
6091
6092pub mod term_t_c4_rhs {
6093 pub const LITERAL_VALUE: &str = "target(f) = source(g)";
6095}
6096
6097pub mod term_t_c4_for_all {
6098 pub const VARIABLE_NAME: &str = "f, g ∈ Transform";
6100}
6101
6102pub mod term_t_i1_lhs {
6103 pub const LITERAL_VALUE: &str = "d_R(neg(x), neg(y))";
6105}
6106
6107pub mod term_t_i1_rhs {
6108 pub const LITERAL_VALUE: &str = "d_R(x, y)";
6110}
6111
6112pub mod term_t_i1_for_all {
6113 pub const VARIABLE_NAME: &str = "x, y ∈ R_n";
6115}
6116
6117pub mod term_t_i2_lhs {
6118 pub const LITERAL_VALUE: &str = "d_H(bnot(x), bnot(y))";
6120}
6121
6122pub mod term_t_i2_rhs {
6123 pub const LITERAL_VALUE: &str = "d_H(x, y)";
6125}
6126
6127pub mod term_t_i2_for_all {
6128 pub const VARIABLE_NAME: &str = "x, y ∈ R_n";
6130}
6131
6132pub mod term_t_i3_lhs {
6133 pub const LITERAL_VALUE: &str = "succ = neg ∘ bnot";
6135}
6136
6137pub mod term_t_i3_rhs {
6138 pub const LITERAL_VALUE: &str = "preserves d_R but not d_H";
6140}
6141
6142pub mod term_t_i3_for_all {
6143 pub const VARIABLE_NAME: &str = "x ∈ R_n";
6145}
6146
6147pub mod term_t_i4_lhs {
6148 pub const LITERAL_VALUE: &str = "ring isometries";
6150}
6151
6152pub mod term_t_i4_rhs {
6153 pub const LITERAL_VALUE: &str = "form a group under composition";
6155}
6156
6157pub mod term_t_i4_for_all {
6158 pub const VARIABLE_NAME: &str = "Isometry";
6160}
6161
6162pub mod term_t_i5_lhs {
6163 pub const LITERAL_VALUE: &str = "CurvatureObservable";
6165}
6166
6167pub mod term_t_i5_rhs {
6168 pub const LITERAL_VALUE: &str = "measures failure of ring isometry to be Hamming isometry";
6170}
6171
6172pub mod term_t_i5_for_all {
6173 pub const VARIABLE_NAME: &str = "Isometry";
6175}
6176
6177pub mod term_t_e1_lhs {
6178 pub const LITERAL_VALUE: &str = "ι(x) = ι(y)";
6180}
6181
6182pub mod term_t_e1_rhs {
6183 pub const LITERAL_VALUE: &str = "x = y";
6185}
6186
6187pub mod term_t_e1_for_all {
6188 pub const VARIABLE_NAME: &str = "x, y ∈ R_n (injectivity)";
6190}
6191
6192pub mod term_t_e2_lhs {
6193 pub const LITERAL_VALUE: &str = "ι(add(x,y))";
6195}
6196
6197pub mod term_t_e2_rhs {
6198 pub const LITERAL_VALUE: &str = "add(ι(x), ι(y)); ι(mul(x,y)) = mul(ι(x), ι(y))";
6200}
6201
6202pub mod term_t_e2_for_all {
6203 pub const VARIABLE_NAME: &str = "x, y ∈ R_n";
6205}
6206
6207pub mod term_t_e3_lhs {
6208 pub const LITERAL_VALUE: &str = "ι₂ ∘ ι₁ : R_n → R_k";
6210}
6211
6212pub mod term_t_e3_rhs {
6213 pub const LITERAL_VALUE: &str = "is an embedding (transitivity)";
6215}
6216
6217pub mod term_t_e3_for_all {
6218 pub const VARIABLE_NAME: &str = "ι₁: R_n → R_m, ι₂: R_m → R_k";
6220}
6221
6222pub mod term_t_e4_lhs {
6223 pub const LITERAL_VALUE: &str = "glyph ∘ ι ∘ addresses";
6225}
6226
6227pub mod term_t_e4_rhs {
6228 pub const LITERAL_VALUE: &str = "well-defined";
6230}
6231
6232pub mod term_t_e4_for_all {
6233 pub const VARIABLE_NAME: &str = "embedding ι";
6235}
6236
6237pub mod term_t_a1_lhs {
6238 pub const LITERAL_VALUE: &str = "g ∈ D_{2^n} on Constraint C";
6240}
6241
6242pub mod term_t_a1_rhs {
6243 pub const LITERAL_VALUE: &str = "g⋅C (transformed constraint)";
6245}
6246
6247pub mod term_t_a1_for_all {
6248 pub const VARIABLE_NAME: &str = "g ∈ D_{2^n}, C ∈ Constraint";
6250}
6251
6252pub mod term_t_a2_lhs {
6253 pub const LITERAL_VALUE: &str = "g ∈ D_{2^n} on Partition";
6255}
6256
6257pub mod term_t_a2_rhs {
6258 pub const LITERAL_VALUE: &str = "permutes components";
6260}
6261
6262pub mod term_t_a2_for_all {
6263 pub const VARIABLE_NAME: &str = "g ∈ D_{2^n}";
6265}
6266
6267pub mod term_t_a3_lhs {
6268 pub const LITERAL_VALUE: &str = "D_{2^n} orbits on R_n";
6270}
6271
6272pub mod term_t_a3_rhs {
6273 pub const LITERAL_VALUE: &str = "determine irreducibility boundaries";
6275}
6276
6277pub mod term_t_a3_for_all {
6278 pub const VARIABLE_NAME: &str = "DihedralFactorizationResolver";
6280}
6281
6282pub mod term_t_a4_lhs {
6283 pub const LITERAL_VALUE: &str = "fixed points of neg";
6285}
6286
6287pub mod term_t_a4_rhs {
6288 pub const LITERAL_VALUE: &str = "{0, 2^{n−1}}; bnot has none (n > 0)";
6290}
6291
6292pub mod term_t_a4_for_all {
6293 pub const VARIABLE_NAME: &str = "R_n";
6295}
6296
6297pub mod term_au_1_lhs {
6298 pub const LITERAL_VALUE: &str = "Aut(R_n)";
6300}
6301
6302pub mod term_au_1_rhs {
6303 pub const LITERAL_VALUE: &str = "{μ_u : x ↦ mul(u, x) | u ∈ R_n×}";
6305}
6306
6307pub mod term_au_1_for_all {
6308 pub const VARIABLE_NAME: &str = "n ≥ 1";
6310}
6311
6312pub mod term_au_2_lhs {
6313 pub const LITERAL_VALUE: &str = "Aut(R_n)";
6315}
6316
6317pub mod term_au_2_rhs {
6318 pub const LITERAL_VALUE: &str = "≅ R_n× ≅ Z/2 × Z/2^{n−2}";
6320}
6321
6322pub mod term_au_2_for_all {
6323 pub const VARIABLE_NAME: &str = "n ≥ 3";
6325}
6326
6327pub mod term_au_3_lhs {
6328 pub const LITERAL_VALUE: &str = "|Aut(R_n)|";
6330}
6331
6332pub mod term_au_3_rhs {
6333 pub const LITERAL_VALUE: &str = "2^{n−1}";
6335}
6336
6337pub mod term_au_3_for_all {
6338 pub const VARIABLE_NAME: &str = "n ≥ 1";
6340}
6341
6342pub mod term_au_4_lhs {
6343 pub const LITERAL_VALUE: &str = "Aut(R_n) ∩ D_{2^n}";
6345}
6346
6347pub mod term_au_4_rhs {
6348 pub const LITERAL_VALUE: &str = "{id, neg}";
6350}
6351
6352pub mod term_au_4_for_all {
6353 pub const VARIABLE_NAME: &str = "n ≥ 1";
6355}
6356
6357pub mod term_au_5_lhs {
6358 pub const LITERAL_VALUE: &str = "Aff(R_n)";
6360}
6361
6362pub mod term_au_5_rhs {
6363 pub const LITERAL_VALUE: &str = "⟨D_{2^n}, μ_3⟩";
6365}
6366
6367pub mod term_au_5_for_all {
6368 pub const VARIABLE_NAME: &str = "n ≥ 1";
6370}
6371
6372pub mod term_ef_1_lhs {
6373 pub const LITERAL_VALUE: &str = "F_ι(f)";
6375}
6376
6377pub mod term_ef_1_rhs {
6378 pub const LITERAL_VALUE: &str = "ι ∘ f ∘ ι⁻¹ on Im(ι)";
6380}
6381
6382pub mod term_ef_1_for_all {
6383 pub const VARIABLE_NAME: &str = "ι: R_n → R_m, f ∈ Cat(R_n)";
6385}
6386
6387pub mod term_ef_2_lhs {
6388 pub const LITERAL_VALUE: &str = "F_ι(f ∘ g)";
6390}
6391
6392pub mod term_ef_2_rhs {
6393 pub const LITERAL_VALUE: &str = "F_ι(f) ∘ F_ι(g)";
6395}
6396
6397pub mod term_ef_2_for_all {
6398 pub const VARIABLE_NAME: &str = "ι: R_n → R_m";
6400}
6401
6402pub mod term_ef_3_lhs {
6403 pub const LITERAL_VALUE: &str = "F_ι(id_{R_n})";
6405}
6406
6407pub mod term_ef_3_rhs {
6408 pub const LITERAL_VALUE: &str = "id_{Im(ι)}";
6410}
6411
6412pub mod term_ef_3_for_all {
6413 pub const VARIABLE_NAME: &str = "ι: R_n → R_m";
6415}
6416
6417pub mod term_ef_4_lhs {
6418 pub const LITERAL_VALUE: &str = "F_{ι₂ ∘ ι₁}";
6420}
6421
6422pub mod term_ef_4_rhs {
6423 pub const LITERAL_VALUE: &str = "F_{ι₂} ∘ F_{ι₁}";
6425}
6426
6427pub mod term_ef_4_for_all {
6428 pub const VARIABLE_NAME: &str = "ι₁: R_n → R_m, ι₂: R_m → R_k";
6430}
6431
6432pub mod term_ef_5_lhs {
6433 pub const LITERAL_VALUE: &str = "F_ι(ring isometry)";
6435}
6436
6437pub mod term_ef_5_rhs {
6438 pub const LITERAL_VALUE: &str = "ring isometry at level m";
6440}
6441
6442pub mod term_ef_5_for_all {
6443 pub const VARIABLE_NAME: &str = "ι: R_n → R_m";
6445}
6446
6447pub mod term_ef_6_lhs {
6448 pub const LITERAL_VALUE: &str = "F_ι(D_{2^n})";
6450}
6451
6452pub mod term_ef_6_rhs {
6453 pub const LITERAL_VALUE: &str = "⊆ D_{2^m} as subgroup";
6455}
6456
6457pub mod term_ef_6_for_all {
6458 pub const VARIABLE_NAME: &str = "ι: R_n → R_m";
6460}
6461
6462pub mod term_ef_7_lhs {
6463 pub const LITERAL_VALUE: &str = "F_ι(R_n×)";
6465}
6466
6467pub mod term_ef_7_rhs {
6468 pub const LITERAL_VALUE: &str = "⊆ R_m× as subgroup";
6470}
6471
6472pub mod term_ef_7_for_all {
6473 pub const VARIABLE_NAME: &str = "ι: R_n → R_m";
6475}
6476
6477pub mod term_aa_1_lhs {
6478 pub const LITERAL_VALUE: &str = "glyph(x)";
6480}
6481
6482pub mod term_aa_1_rhs {
6483 pub const LITERAL_VALUE: &str = "[braille(x[0:5]), braille(x[6:11]), ...]";
6485}
6486
6487pub mod term_aa_1_for_all {
6488 pub const VARIABLE_NAME: &str = "x ∈ R_n (6-bit blocks)";
6490}
6491
6492pub mod term_aa_2_lhs {
6493 pub const LITERAL_VALUE: &str = "braille(a ⊕ b)";
6495}
6496
6497pub mod term_aa_2_rhs {
6498 pub const LITERAL_VALUE: &str = "braille(a) ⊕ braille(b)";
6500}
6501
6502pub mod term_aa_2_for_all {
6503 pub const VARIABLE_NAME: &str = "a, b ∈ {0,1}^6";
6505}
6506
6507pub mod term_aa_3_lhs {
6508 pub const LITERAL_VALUE: &str = "glyph(bnot(x))";
6510}
6511
6512pub mod term_aa_3_rhs {
6513 pub const LITERAL_VALUE: &str = "complement each Braille character of glyph(x)";
6515}
6516
6517pub mod term_aa_3_for_all {
6518 pub const VARIABLE_NAME: &str = "x ∈ R_n";
6520}
6521
6522pub mod term_aa_4_lhs {
6523 pub const LITERAL_VALUE: &str = "glyph(add(x, y))";
6525}
6526
6527pub mod term_aa_4_rhs {
6528 pub const LITERAL_VALUE: &str = "≠ f(glyph(x), glyph(y)) in general";
6530}
6531
6532pub mod term_aa_4_for_all {
6533 pub const VARIABLE_NAME: &str = "x, y ∈ R_n";
6535}
6536
6537pub mod term_aa_5_lhs {
6538 pub const LITERAL_VALUE: &str = "liftable operations";
6540}
6541
6542pub mod term_aa_5_rhs {
6543 pub const LITERAL_VALUE: &str = "{xor, and, or, bnot}; NOT {add, sub, mul, neg, succ, pred}";
6545}
6546
6547pub mod term_aa_5_for_all {
6548 pub const VARIABLE_NAME: &str = "operations on R_n";
6550}
6551
6552pub mod term_aa_6_lhs {
6553 pub const LITERAL_VALUE: &str = "neg(x) = succ(bnot(x))";
6555}
6556
6557pub mod term_aa_6_rhs {
6558 pub const LITERAL_VALUE: &str = "bnot lifts, succ does not";
6560}
6561
6562pub mod term_aa_6_for_all {
6563 pub const VARIABLE_NAME: &str = "x ∈ R_n";
6565}
6566
6567pub mod term_am_1_lhs {
6568 pub const LITERAL_VALUE: &str = "d_addr(a, b)";
6570}
6571
6572pub mod term_am_1_rhs {
6573 pub const LITERAL_VALUE: &str = "Σ_i popcount(braille_i(a) ⊕ braille_i(b))";
6575}
6576
6577pub mod term_am_1_for_all {
6578 pub const VARIABLE_NAME: &str = "addresses a, b";
6580}
6581
6582pub mod term_am_2_lhs {
6583 pub const LITERAL_VALUE: &str = "d_addr(glyph(x), glyph(y))";
6585}
6586
6587pub mod term_am_2_rhs {
6588 pub const LITERAL_VALUE: &str = "d_H(x, y)";
6590}
6591
6592pub mod term_am_2_for_all {
6593 pub const VARIABLE_NAME: &str = "x, y ∈ R_n";
6595}
6596
6597pub mod term_am_3_lhs {
6598 pub const LITERAL_VALUE: &str = "d_addr";
6600}
6601
6602pub mod term_am_3_rhs {
6603 pub const LITERAL_VALUE: &str = "does NOT preserve d_R in general";
6605}
6606
6607pub mod term_am_3_for_all {
6608 pub const VARIABLE_NAME: &str = "addresses";
6610}
6611
6612pub mod term_am_4_lhs {
6613 pub const LITERAL_VALUE: &str = "d_Δ(x, y)";
6615}
6616
6617pub mod term_am_4_rhs {
6618 pub const LITERAL_VALUE: &str = "|d_R(x,y) − d_addr(glyph(x), glyph(y))|";
6620}
6621
6622pub mod term_am_4_for_all {
6623 pub const VARIABLE_NAME: &str = "x, y ∈ R_n";
6625}
6626
6627pub mod term_th_1_lhs {
6628 pub const LITERAL_VALUE: &str = "S(state)";
6630}
6631
6632pub mod term_th_1_rhs {
6633 pub const LITERAL_VALUE: &str = "freeRank × ln 2";
6635}
6636
6637pub mod term_th_1_for_all {
6638 pub const VARIABLE_NAME: &str = "state ∈ FreeRank";
6640}
6641
6642pub mod term_th_2_lhs {
6643 pub const LITERAL_VALUE: &str = "S(⊥)";
6645}
6646
6647pub mod term_th_2_rhs {
6648 pub const LITERAL_VALUE: &str = "n × ln 2";
6650}
6651
6652pub mod term_th_2_for_all {
6653 pub const VARIABLE_NAME: &str = "unconstrained type";
6655}
6656
6657pub mod term_th_3_lhs {
6658 pub const LITERAL_VALUE: &str = "S(⊤)";
6660}
6661
6662pub mod term_th_3_rhs {
6663 pub const LITERAL_VALUE: &str = "0";
6665}
6666
6667pub mod term_th_3_for_all {
6668 pub const VARIABLE_NAME: &str = "fully resolved type";
6670}
6671
6672pub mod term_th_4_lhs {
6673 pub const LITERAL_VALUE: &str = "total resolution cost";
6675}
6676
6677pub mod term_th_4_rhs {
6678 pub const LITERAL_VALUE: &str = "n × k_B T × ln 2";
6680}
6681
6682pub mod term_th_4_for_all {
6683 pub const VARIABLE_NAME: &str = "Landauer bound";
6685}
6686
6687pub mod term_th_5_lhs {
6688 pub const LITERAL_VALUE: &str = "β*";
6690}
6691
6692pub mod term_th_5_rhs {
6693 pub const LITERAL_VALUE: &str = "ln 2";
6695}
6696
6697pub mod term_th_5_for_all {
6698 pub const VARIABLE_NAME: &str = "UOR site system";
6700}
6701
6702pub mod term_th_6_lhs {
6703 pub const LITERAL_VALUE: &str = "constraint application";
6705}
6706
6707pub mod term_th_6_rhs {
6708 pub const LITERAL_VALUE: &str = "removes entropy; convergenceRate = cooling rate";
6710}
6711
6712pub mod term_th_6_for_all {
6713 pub const VARIABLE_NAME: &str = "resolution loop";
6715}
6716
6717pub mod term_th_7_lhs {
6718 pub const LITERAL_VALUE: &str = "CatastropheThreshold";
6720}
6721
6722pub mod term_th_7_rhs {
6723 pub const LITERAL_VALUE: &str = "temperature of partition phase transition";
6725}
6726
6727pub mod term_th_7_for_all {
6728 pub const VARIABLE_NAME: &str = "partition bifurcation";
6730}
6731
6732pub mod term_th_8_lhs {
6733 pub const LITERAL_VALUE: &str = "step_g";
6735}
6736
6737pub mod term_th_8_rhs {
6738 pub const LITERAL_VALUE: &str = "free-energy cost of constraint boundary";
6740}
6741
6742pub mod term_th_8_for_all {
6743 pub const VARIABLE_NAME: &str = "constraint boundary g";
6745}
6746
6747pub mod term_th_9_lhs {
6748 pub const LITERAL_VALUE: &str = "computational hardness";
6750}
6751
6752pub mod term_th_9_rhs {
6753 pub const LITERAL_VALUE: &str = "type incompleteness (high temperature)";
6755}
6756
6757pub mod term_th_9_for_all {
6758 pub const VARIABLE_NAME: &str = "type specification";
6760}
6761
6762pub mod term_th_10_lhs {
6763 pub const LITERAL_VALUE: &str = "type resolution";
6765}
6766
6767pub mod term_th_10_rhs {
6768 pub const LITERAL_VALUE: &str = "measurement; cost ≥ entropy removed";
6770}
6771
6772pub mod term_th_10_for_all {
6773 pub const VARIABLE_NAME: &str = "resolution process";
6775}
6776
6777pub mod term_ar_1_lhs {
6778 pub const LITERAL_VALUE: &str = "adiabatic schedule";
6780}
6781
6782pub mod term_ar_1_rhs {
6783 pub const LITERAL_VALUE: &str = "decreasing freeRank × cost-per-site order";
6785}
6786
6787pub mod term_ar_1_for_all {
6788 pub const VARIABLE_NAME: &str = "constraint ordering";
6790}
6791
6792pub mod term_ar_2_lhs {
6793 pub const LITERAL_VALUE: &str = "Cost_adiabatic";
6795}
6796
6797pub mod term_ar_2_rhs {
6798 pub const LITERAL_VALUE: &str = "Σ_i cost(C_{σ(i)}) where σ is optimal";
6800}
6801
6802pub mod term_ar_2_for_all {
6803 pub const VARIABLE_NAME: &str = "optimal ordering";
6805}
6806
6807pub mod term_ar_3_lhs {
6808 pub const LITERAL_VALUE: &str = "Cost_adiabatic";
6810}
6811
6812pub mod term_ar_3_rhs {
6813 pub const LITERAL_VALUE: &str = "≥ n × k_B T × ln 2";
6815}
6816
6817pub mod term_ar_3_for_all {
6818 pub const VARIABLE_NAME: &str = "Landauer bound";
6820}
6821
6822pub mod term_ar_4_lhs {
6823 pub const LITERAL_VALUE: &str = "η = (n × ln 2) / Cost_adiabatic";
6825}
6826
6827pub mod term_ar_4_rhs {
6828 pub const LITERAL_VALUE: &str = "≤ 1";
6830}
6831
6832pub mod term_ar_4_for_all {
6833 pub const VARIABLE_NAME: &str = "adiabatic efficiency";
6835}
6836
6837pub mod term_ar_5_lhs {
6838 pub const LITERAL_VALUE: &str = "greedy vs adiabatic difference";
6840}
6841
6842pub mod term_ar_5_rhs {
6843 pub const LITERAL_VALUE: &str = "≤ 5% for n ≤ 16";
6845}
6846
6847pub mod term_ar_5_for_all {
6848 pub const VARIABLE_NAME: &str = "empirical, Q0–Q4";
6850}
6851
6852pub mod term_pd_1_lhs {
6853 pub const LITERAL_VALUE: &str = "phase space";
6855}
6856
6857pub mod term_pd_1_rhs {
6858 pub const LITERAL_VALUE: &str = "{(n, g) : n ∈ Z₊, g constraint boundary}";
6860}
6861
6862pub mod term_pd_1_for_all {
6863 pub const VARIABLE_NAME: &str = "UOR phase diagram";
6865}
6866
6867pub mod term_pd_2_lhs {
6868 pub const LITERAL_VALUE: &str = "phase boundaries";
6870}
6871
6872pub mod term_pd_2_rhs {
6873 pub const LITERAL_VALUE: &str = "g | (2^n − 1) or g = 2^k";
6875}
6876
6877pub mod term_pd_2_for_all {
6878 pub const VARIABLE_NAME: &str = "(n, g) plane";
6880}
6881
6882pub mod term_pd_3_lhs {
6883 pub const LITERAL_VALUE: &str = "parity boundary";
6885}
6886
6887pub mod term_pd_3_rhs {
6888 pub const LITERAL_VALUE: &str = "|Unit| = 2^{n−1}, |non-Unit| = 2^{n−1}";
6890}
6891
6892pub mod term_pd_3_for_all {
6893 pub const VARIABLE_NAME: &str = "g = 2";
6895}
6896
6897pub mod term_pd_4_lhs {
6898 pub const LITERAL_VALUE: &str = "resonance lines";
6900}
6901
6902pub mod term_pd_4_rhs {
6903 pub const LITERAL_VALUE: &str = "n = k ⋅ ord_g(2)";
6905}
6906
6907pub mod term_pd_4_for_all {
6908 pub const VARIABLE_NAME: &str = "(n, g) plane";
6910}
6911
6912pub mod term_pd_5_lhs {
6913 pub const LITERAL_VALUE: &str = "phase count at level n";
6915}
6916
6917pub mod term_pd_5_rhs {
6918 pub const LITERAL_VALUE: &str = "≤ 2^n (typical O(n))";
6920}
6921
6922pub mod term_pd_5_for_all {
6923 pub const VARIABLE_NAME: &str = "quantum level n";
6925}
6926
6927pub mod term_rc_1_lhs {
6928 pub const LITERAL_VALUE: &str = "reversible pinning of site k";
6930}
6931
6932pub mod term_rc_1_rhs {
6933 pub const LITERAL_VALUE: &str = "store prior state in ancilla site k'";
6935}
6936
6937pub mod term_rc_1_for_all {
6938 pub const VARIABLE_NAME: &str = "SiteIndex k";
6940}
6941
6942pub mod term_rc_2_lhs {
6943 pub const LITERAL_VALUE: &str = "reversible pinning entropy";
6945}
6946
6947pub mod term_rc_2_rhs {
6948 pub const LITERAL_VALUE: &str = "ΔS_total = 0";
6950}
6951
6952pub mod term_rc_2_for_all {
6953 pub const VARIABLE_NAME: &str = "reversible strategy";
6955}
6956
6957pub mod term_rc_3_lhs {
6958 pub const LITERAL_VALUE: &str = "deferred Landauer cost";
6960}
6961
6962pub mod term_rc_3_rhs {
6963 pub const LITERAL_VALUE: &str = "n × k_B T × ln 2 at ancilla erasure";
6965}
6966
6967pub mod term_rc_3_for_all {
6968 pub const VARIABLE_NAME: &str = "ancilla cleanup";
6970}
6971
6972pub mod term_rc_4_lhs {
6973 pub const LITERAL_VALUE: &str = "reversible total cost";
6975}
6976
6977pub mod term_rc_4_rhs {
6978 pub const LITERAL_VALUE: &str = "= irreversible total cost (redistributed)";
6980}
6981
6982pub mod term_rc_4_for_all {
6983 pub const VARIABLE_NAME: &str = "reversible strategy";
6985}
6986
6987pub mod term_rc_5_lhs {
6988 pub const LITERAL_VALUE: &str = "quantum UOR";
6990}
6991
6992pub mod term_rc_5_rhs {
6993 pub const LITERAL_VALUE: &str = "superposed sites, cost ∝ winning path";
6995}
6996
6997pub mod term_rc_5_for_all {
6998 pub const VARIABLE_NAME: &str = "hypothetical quantum";
7000}
7001
7002pub mod term_dc_1_lhs {
7003 pub const LITERAL_VALUE: &str = "∂_R f(x)";
7005}
7006
7007pub mod term_dc_1_rhs {
7008 pub const LITERAL_VALUE: &str = "f(succ(x)) - f(x)";
7010}
7011
7012pub mod term_dc_1_for_all {
7013 pub const VARIABLE_NAME: &str = "f : R_n → R_n, x ∈ R_n";
7015}
7016
7017pub mod term_dc_2_lhs {
7018 pub const LITERAL_VALUE: &str = "∂_H f(x)";
7020}
7021
7022pub mod term_dc_2_rhs {
7023 pub const LITERAL_VALUE: &str = "f(bnot(x)) - f(x)";
7025}
7026
7027pub mod term_dc_2_for_all {
7028 pub const VARIABLE_NAME: &str = "f : R_n → R_n, x ∈ R_n";
7030}
7031
7032pub mod term_dc_3_lhs {
7033 pub const LITERAL_VALUE: &str = "∂_H id(x)";
7035}
7036
7037pub mod term_dc_3_rhs {
7038 pub const LITERAL_VALUE: &str = "bnot(x) - x = -(2x + 1) mod 2^n";
7040}
7041
7042pub mod term_dc_3_for_all {
7043 pub const VARIABLE_NAME: &str = "x ∈ R_n";
7045}
7046
7047pub mod term_dc_4_lhs {
7048 pub const LITERAL_VALUE: &str = "[neg, bnot](x)";
7050}
7051
7052pub mod term_dc_4_rhs {
7053 pub const LITERAL_VALUE: &str = "∂_R neg(x) - ∂_H neg(x)";
7055}
7056
7057pub mod term_dc_4_for_all {
7058 pub const VARIABLE_NAME: &str = "x ∈ R_n";
7060}
7061
7062pub mod term_dc_5_lhs {
7063 pub const LITERAL_VALUE: &str = "∂_R f - ∂_H f";
7065}
7066
7067pub mod term_dc_5_rhs {
7068 pub const LITERAL_VALUE: &str = "Σ carry contributions";
7070}
7071
7072pub mod term_dc_5_for_all {
7073 pub const VARIABLE_NAME: &str = "f : R_n → R_n";
7075}
7076
7077pub mod term_dc_6_lhs {
7078 pub const LITERAL_VALUE: &str = "J_k(x)";
7080}
7081
7082pub mod term_dc_6_rhs {
7083 pub const LITERAL_VALUE: &str = "∂_R f_k(x) where f_k = site_k";
7085}
7086
7087pub mod term_dc_6_for_all {
7088 pub const VARIABLE_NAME: &str = "x ∈ R_n, 0 ≤ k < n";
7090}
7091
7092pub mod term_dc_7_lhs {
7093 pub const LITERAL_VALUE: &str = "J_{n-1}(x)";
7095}
7096
7097pub mod term_dc_7_rhs {
7098 pub const LITERAL_VALUE: &str = "may differ from lower sites";
7100}
7101
7102pub mod term_dc_7_for_all {
7103 pub const VARIABLE_NAME: &str = "x ∈ R_n";
7105}
7106
7107pub mod term_dc_8_lhs {
7108 pub const LITERAL_VALUE: &str = "rank(J(x))";
7110}
7111
7112pub mod term_dc_8_rhs {
7113 pub const LITERAL_VALUE: &str = "= d_H(x, succ(x)) - 1 for generic x";
7115}
7116
7117pub mod term_dc_8_for_all {
7118 pub const VARIABLE_NAME: &str = "x ∈ R_n";
7120}
7121
7122pub mod term_dc_9_lhs {
7123 pub const LITERAL_VALUE: &str = "κ(x)";
7125}
7126
7127pub mod term_dc_9_rhs {
7128 pub const LITERAL_VALUE: &str = "Σ_k J_k(x)";
7130}
7131
7132pub mod term_dc_9_for_all {
7133 pub const VARIABLE_NAME: &str = "x ∈ R_n";
7135}
7136
7137pub mod term_dc_10_lhs {
7138 pub const LITERAL_VALUE: &str = "optimal next constraint";
7140}
7141
7142pub mod term_dc_10_rhs {
7143 pub const LITERAL_VALUE: &str = "argmax J_k over free sites";
7145}
7146
7147pub mod term_dc_10_for_all {
7148 pub const VARIABLE_NAME: &str = "resolution step";
7150}
7151
7152pub mod term_dc_11_lhs {
7153 pub const LITERAL_VALUE: &str = "Σ_{x} J_k(x)";
7155}
7156
7157pub mod term_dc_11_rhs {
7158 pub const LITERAL_VALUE: &str = "≈ (2^n - 2)/n for each k";
7160}
7161
7162pub mod term_dc_11_for_all {
7163 pub const VARIABLE_NAME: &str = "0 ≤ k < n";
7165}
7166
7167pub mod term_ha_1_lhs {
7168 pub const LITERAL_VALUE: &str = "N(C)";
7170}
7171
7172pub mod term_ha_1_rhs {
7173 pub const LITERAL_VALUE: &str = "simplicial complex on constraints";
7175}
7176
7177pub mod term_ha_1_for_all {
7178 pub const VARIABLE_NAME: &str = "constraint set C";
7180}
7181
7182pub mod term_ha_2_lhs {
7183 pub const LITERAL_VALUE: &str = "resolution stalls";
7185}
7186
7187pub mod term_ha_2_rhs {
7188 pub const LITERAL_VALUE: &str = "⟺ H_k(N(C)) ≠ 0 for some k > 0";
7190}
7191
7192pub mod term_ha_2_for_all {
7193 pub const VARIABLE_NAME: &str = "constraint set C";
7195}
7196
7197pub mod term_ha_3_lhs {
7198 pub const LITERAL_VALUE: &str = "S_residual";
7200}
7201
7202pub mod term_ha_3_rhs {
7203 pub const LITERAL_VALUE: &str = "≥ Σ_k β_k × ln 2";
7205}
7206
7207pub mod term_ha_3_for_all {
7208 pub const VARIABLE_NAME: &str = "constraint configuration C";
7210}
7211
7212pub mod term_it_2_lhs {
7213 pub const LITERAL_VALUE: &str = "χ(N(C))";
7215}
7216
7217pub mod term_it_2_rhs {
7218 pub const LITERAL_VALUE: &str = "Σ_k (-1)^k β_k";
7220}
7221
7222pub mod term_it_2_for_all {
7223 pub const VARIABLE_NAME: &str = "constraint nerve N(C)";
7225}
7226
7227pub mod term_it_3_lhs {
7228 pub const LITERAL_VALUE: &str = "χ(N(C))";
7230}
7231
7232pub mod term_it_3_rhs {
7233 pub const LITERAL_VALUE: &str = "Σ_k (-1)^k dim(H_k)";
7235}
7236
7237pub mod term_it_3_for_all {
7238 pub const VARIABLE_NAME: &str = "constraint nerve N(C)";
7240}
7241
7242pub mod term_it_6_lhs {
7243 pub const LITERAL_VALUE: &str = "λ_1(N(C))";
7245}
7246
7247pub mod term_it_6_rhs {
7248 pub const LITERAL_VALUE: &str = "lower bounds convergence rate";
7250}
7251
7252pub mod term_it_6_for_all {
7253 pub const VARIABLE_NAME: &str = "constraint nerve N(C)";
7255}
7256
7257pub mod term_it_7a_lhs {
7258 pub const LITERAL_VALUE: &str = "Σ κ_k - χ(N(C))";
7260}
7261
7262pub mod term_it_7a_rhs {
7263 pub const LITERAL_VALUE: &str = "= S_residual / ln 2";
7265}
7266
7267pub mod term_it_7a_for_all {
7268 pub const VARIABLE_NAME: &str = "constraint configuration C";
7270}
7271
7272pub mod term_it_7b_lhs {
7273 pub const LITERAL_VALUE: &str = "S_residual";
7275}
7276
7277pub mod term_it_7b_rhs {
7278 pub const LITERAL_VALUE: &str = "= (Σ κ_k - χ) × ln 2";
7280}
7281
7282pub mod term_it_7b_for_all {
7283 pub const VARIABLE_NAME: &str = "constraint configuration C";
7285}
7286
7287pub mod term_it_7c_lhs {
7288 pub const LITERAL_VALUE: &str = "resolution cost";
7290}
7291
7292pub mod term_it_7c_rhs {
7293 pub const LITERAL_VALUE: &str = "≥ n - χ(N(C))";
7295}
7296
7297pub mod term_it_7c_for_all {
7298 pub const VARIABLE_NAME: &str = "constraint configuration C";
7300}
7301
7302pub mod term_it_7d_lhs {
7303 pub const LITERAL_VALUE: &str = "resolution complete";
7305}
7306
7307pub mod term_it_7d_rhs {
7308 pub const LITERAL_VALUE: &str = "⟺ χ(N(C)) = n and all β_k = 0";
7310}
7311
7312pub mod term_it_7d_for_all {
7313 pub const VARIABLE_NAME: &str = "constraint nerve N(C)";
7315}
7316
7317pub mod term_phi_1_lhs {
7318 pub const LITERAL_VALUE: &str = "φ₁(neg, ResidueConstraint(m,r))";
7320}
7321
7322pub mod term_phi_1_rhs {
7323 pub const LITERAL_VALUE: &str = "ResidueConstraint(m, m-r)";
7325}
7326
7327pub mod term_phi_1_for_all {
7328 pub const VARIABLE_NAME: &str = "ring op, constraint";
7330}
7331
7332pub mod term_phi_2_lhs {
7333 pub const LITERAL_VALUE: &str = "φ₂(compose(A,B))";
7335}
7336
7337pub mod term_phi_2_rhs {
7338 pub const LITERAL_VALUE: &str = "φ₂(A) ∪ φ₂(B)";
7340}
7341
7342pub mod term_phi_2_for_all {
7343 pub const VARIABLE_NAME: &str = "constraints A, B";
7345}
7346
7347pub mod term_phi_3_lhs {
7348 pub const LITERAL_VALUE: &str = "φ₃(closed site state)";
7350}
7351
7352pub mod term_phi_3_rhs {
7353 pub const LITERAL_VALUE: &str = "unique 4-component partition";
7355}
7356
7357pub mod term_phi_3_for_all {
7358 pub const VARIABLE_NAME: &str = "closed FreeRank";
7360}
7361
7362pub mod term_phi_4_lhs {
7363 pub const LITERAL_VALUE: &str = "φ₄(T, x)";
7365}
7366
7367pub mod term_phi_4_rhs {
7368 pub const LITERAL_VALUE: &str = "φ₃(φ₂(φ₁(T, x)))";
7370}
7371
7372pub mod term_phi_4_for_all {
7373 pub const VARIABLE_NAME: &str = "T ∈ T_n, x ∈ R_n";
7375}
7376
7377pub mod term_phi_5_lhs {
7378 pub const LITERAL_VALUE: &str = "φ₅(neg)";
7380}
7381
7382pub mod term_phi_5_rhs {
7383 pub const LITERAL_VALUE: &str = "preserves d_R, may change d_H";
7385}
7386
7387pub mod term_phi_5_for_all {
7388 pub const VARIABLE_NAME: &str = "op ∈ Operation";
7390}
7391
7392pub mod term_phi_6_lhs {
7393 pub const LITERAL_VALUE: &str = "φ₆(state, observables)";
7395}
7396
7397pub mod term_phi_6_rhs {
7398 pub const LITERAL_VALUE: &str = "RefinementSuggestion";
7400}
7401
7402pub mod term_phi_6_for_all {
7403 pub const VARIABLE_NAME: &str = "ResolutionState";
7405}
7406
7407pub mod term_psi_1_lhs {
7408 pub const LITERAL_VALUE: &str = "N(constraints)";
7410}
7411
7412pub mod term_psi_1_rhs {
7413 pub const LITERAL_VALUE: &str = "SimplicialComplex";
7415}
7416
7417pub mod term_psi_1_for_all {
7418 pub const VARIABLE_NAME: &str = "constraint set";
7420}
7421
7422pub mod term_psi_2_lhs {
7423 pub const LITERAL_VALUE: &str = "C(K)";
7425}
7426
7427pub mod term_psi_2_rhs {
7428 pub const LITERAL_VALUE: &str = "ChainComplex";
7430}
7431
7432pub mod term_psi_2_for_all {
7433 pub const VARIABLE_NAME: &str = "simplicial complex K";
7435}
7436
7437pub mod term_psi_3_lhs {
7438 pub const LITERAL_VALUE: &str = "H_k(C)";
7440}
7441
7442pub mod term_psi_3_rhs {
7443 pub const LITERAL_VALUE: &str = "ker(∂_k) / im(∂_{k+1})";
7445}
7446
7447pub mod term_psi_3_for_all {
7448 pub const VARIABLE_NAME: &str = "chain complex C";
7450}
7451
7452pub mod term_psi_5_lhs {
7453 pub const LITERAL_VALUE: &str = "C^k";
7455}
7456
7457pub mod term_psi_5_rhs {
7458 pub const LITERAL_VALUE: &str = "Hom(C_k, R)";
7460}
7461
7462pub mod term_psi_5_for_all {
7463 pub const VARIABLE_NAME: &str = "chain complex C, ring R";
7465}
7466
7467pub mod term_psi_6_lhs {
7468 pub const LITERAL_VALUE: &str = "H^k(C)";
7470}
7471
7472pub mod term_psi_6_rhs {
7473 pub const LITERAL_VALUE: &str = "ker(δ^k) / im(δ^{k-1})";
7475}
7476
7477pub mod term_psi_6_for_all {
7478 pub const VARIABLE_NAME: &str = "cochain complex C";
7480}
7481
7482pub mod term_surface_symmetry_lhs {
7483 pub const LITERAL_VALUE: &str = "P(Π(G(s)))";
7485}
7486
7487pub mod term_surface_symmetry_rhs {
7488 pub const LITERAL_VALUE: &str = "s' where type(s') ≡ type(s) under F.constraint";
7490}
7491
7492pub mod term_surface_symmetry_for_all {
7493 pub const VARIABLE_NAME: &str =
7495 "G: GroundingMap, P: ProjectionMap, F: Frame, s: Literal, G.symbolConstraints = P.projectionOrder";
7496}
7497
7498pub mod term_cc_1_lhs {
7499 pub const LITERAL_VALUE: &str = "resolution(x, T)";
7501}
7502
7503pub mod term_cc_1_rhs {
7504 pub const LITERAL_VALUE: &str = "O(1) for CompleteType T";
7506}
7507
7508pub mod term_cc_1_for_all {
7509 pub const VARIABLE_NAME: &str = "x ∈ R_n, T: CompleteType";
7511}
7512
7513pub mod term_cc_2_lhs {
7514 pub const LITERAL_VALUE: &str = "completeness(T)";
7516}
7517
7518pub mod term_cc_2_rhs {
7519 pub const LITERAL_VALUE: &str = "implies completeness(T')";
7521}
7522
7523pub mod term_cc_2_for_all {
7524 pub const VARIABLE_NAME: &str = "T, T': ConstrainedType, T ⊆ T'";
7526}
7527
7528pub mod term_cc_3_lhs {
7529 pub const LITERAL_VALUE: &str = "sitesClosed(W₁) + sitesClosed(W₂)";
7531}
7532
7533pub mod term_cc_3_rhs {
7534 pub const LITERAL_VALUE: &str = "= n for valid concat(W₁, W₂)";
7536}
7537
7538pub mod term_cc_3_for_all {
7539 pub const VARIABLE_NAME: &str = "W₁, W₂: CompletenessWitness";
7541}
7542
7543pub mod term_cc_4_lhs {
7544 pub const LITERAL_VALUE: &str = "CompletenessResolver";
7546}
7547
7548pub mod term_cc_4_rhs {
7549 pub const LITERAL_VALUE: &str = "fix(ψ-pipeline, CompletenessCandidate)";
7551}
7552
7553pub mod term_cc_4_for_all {
7554 pub const VARIABLE_NAME: &str = "CompletenessCandidate";
7556}
7557
7558pub mod term_cc_5_lhs {
7559 pub const LITERAL_VALUE: &str = "cert.verified = true";
7561}
7562
7563pub mod term_cc_5_rhs {
7564 pub const LITERAL_VALUE: &str = "implies χ(N(C)) = n ∧ ∀k: β_k = 0";
7566}
7567
7568pub mod term_cc_5_for_all {
7569 pub const VARIABLE_NAME: &str = "cert: CompletenessCertificate";
7571}
7572
7573pub mod term_ql_1_lhs {
7574 pub const LITERAL_VALUE: &str = "neg(bnot(x))";
7576}
7577
7578pub mod term_ql_1_rhs {
7579 pub const LITERAL_VALUE: &str = "succ(x) in Z/(2ⁿ)Z";
7581}
7582
7583pub mod term_ql_1_for_all {
7584 pub const VARIABLE_NAME: &str = "x ∈ R_n, n ≥ 1";
7586}
7587
7588pub mod term_ql_2_lhs {
7589 pub const LITERAL_VALUE: &str = "|D_{2ⁿ}|";
7591}
7592
7593pub mod term_ql_2_rhs {
7594 pub const LITERAL_VALUE: &str = "2ⁿ⁺¹ for all n ≥ 1";
7596}
7597
7598pub mod term_ql_2_for_all {
7599 pub const VARIABLE_NAME: &str = "n ≥ 1";
7601}
7602
7603pub mod term_ql_3_lhs {
7604 pub const LITERAL_VALUE: &str = "P(j) = 2^{-j}";
7606}
7607
7608pub mod term_ql_3_rhs {
7609 pub const LITERAL_VALUE: &str = "Boltzmann distribution at β* = ln 2, all n ≥ 1";
7611}
7612
7613pub mod term_ql_3_for_all {
7614 pub const VARIABLE_NAME: &str = "j ∈ R_n, n ≥ 1";
7616}
7617
7618pub mod term_ql_4_lhs {
7619 pub const LITERAL_VALUE: &str = "siteBudget(PrimitiveType, n)";
7621}
7622
7623pub mod term_ql_4_rhs {
7624 pub const LITERAL_VALUE: &str = "= n (one site per bit)";
7626}
7627
7628pub mod term_ql_4_for_all {
7629 pub const VARIABLE_NAME: &str = "PrimitiveType, n ≥ 1";
7631}
7632
7633pub mod term_ql_5_lhs {
7634 pub const LITERAL_VALUE: &str = "resolution(CompleteType, n)";
7636}
7637
7638pub mod term_ql_5_rhs {
7639 pub const LITERAL_VALUE: &str = "O(1) for all n ≥ 1";
7641}
7642
7643pub mod term_ql_5_for_all {
7644 pub const VARIABLE_NAME: &str = "CompleteType, n ≥ 1";
7646}
7647
7648pub mod term_ql_6_lhs {
7649 pub const LITERAL_VALUE: &str = "contentAddress(x, n)";
7651}
7652
7653pub mod term_ql_6_rhs {
7654 pub const LITERAL_VALUE: &str = "bijection for all n ≥ 1";
7656}
7657
7658pub mod term_ql_6_for_all {
7659 pub const VARIABLE_NAME: &str = "x ∈ R_n, n ≥ 1";
7661}
7662
7663pub mod term_ql_7_lhs {
7664 pub const LITERAL_VALUE: &str = "ψ-pipeline(ConstrainedType, n)";
7666}
7667
7668pub mod term_ql_7_rhs {
7669 pub const LITERAL_VALUE: &str = "valid ChainComplex for all n ≥ 1";
7671}
7672
7673pub mod term_ql_7_for_all {
7674 pub const VARIABLE_NAME: &str = "ConstrainedType, n ≥ 1";
7676}
7677
7678pub mod term_gr_1_lhs {
7679 pub const LITERAL_VALUE: &str = "freeRank(B_{i+1})";
7681}
7682
7683pub mod term_gr_1_rhs {
7684 pub const LITERAL_VALUE: &str = "≤ freeRank(B_i)";
7686}
7687
7688pub mod term_gr_1_for_all {
7689 pub const VARIABLE_NAME: &str = "i in Session S";
7691}
7692
7693pub mod term_gr_2_lhs {
7694 pub const LITERAL_VALUE: &str = "b.datum resolves under b.constraint";
7696}
7697
7698pub mod term_gr_2_rhs {
7699 pub const LITERAL_VALUE: &str = "in O(1) iff Binding b is sound";
7701}
7702
7703pub mod term_gr_2_for_all {
7704 pub const VARIABLE_NAME: &str = "b: Binding";
7706}
7707
7708pub mod term_gr_3_lhs {
7709 pub const LITERAL_VALUE: &str = "∃ i: freeRank(B_i) = 0";
7711}
7712
7713pub mod term_gr_3_rhs {
7714 pub const LITERAL_VALUE: &str = "Session S converges";
7716}
7717
7718pub mod term_gr_3_for_all {
7719 pub const VARIABLE_NAME: &str = "Session S";
7721}
7722
7723pub mod term_gr_4_lhs {
7724 pub const LITERAL_VALUE: &str = "bindings(C_fresh) ∩ bindings(C_prior)";
7726}
7727
7728pub mod term_gr_4_rhs {
7729 pub const LITERAL_VALUE: &str = "= ∅ after SessionBoundary";
7731}
7732
7733pub mod term_gr_4_for_all {
7734 pub const VARIABLE_NAME: &str = "C_prior, C_fresh: Context, SessionBoundary event";
7736}
7737
7738pub mod term_gr_5_lhs {
7739 pub const LITERAL_VALUE: &str = "ContradictionBoundary";
7741}
7742
7743pub mod term_gr_5_rhs {
7744 pub const LITERAL_VALUE: &str = "iff ∃ b, b': same address, different datum, same constraint";
7746}
7747
7748pub mod term_gr_5_for_all {
7749 pub const VARIABLE_NAME: &str = "b, b': Binding in same Context";
7751}
7752
7753pub mod term_ts_1_lhs {
7754 pub const LITERAL_VALUE: &str = "nerve(T, target)";
7756}
7757
7758pub mod term_ts_1_rhs {
7759 pub const LITERAL_VALUE: &str = "∃ ConstrainedType T over R_n realising target";
7761}
7762
7763pub mod term_ts_1_for_all {
7764 pub const VARIABLE_NAME: &str = "target: χ* ≤ n, β₀* = 1, β_k* = 0 for k ≥ 1";
7766}
7767
7768pub mod term_ts_2_lhs {
7769 pub const LITERAL_VALUE: &str = "basisSize(T, IT_7d target)";
7771}
7772
7773pub mod term_ts_2_rhs {
7774 pub const LITERAL_VALUE: &str = "n";
7776}
7777
7778pub mod term_ts_2_for_all {
7779 pub const VARIABLE_NAME: &str = "IT_7d target, n-site types";
7781}
7782
7783pub mod term_ts_3_lhs {
7784 pub const LITERAL_VALUE: &str = "χ(N(C + constraint))";
7786}
7787
7788pub mod term_ts_3_rhs {
7789 pub const LITERAL_VALUE: &str = "≥ χ(N(C))";
7791}
7792
7793pub mod term_ts_3_for_all {
7794 pub const VARIABLE_NAME: &str = "C: synthesis candidate constraint set";
7796}
7797
7798pub mod term_ts_4_lhs {
7799 pub const LITERAL_VALUE: &str = "steps(TypeSynthesisResolver, target)";
7801}
7802
7803pub mod term_ts_4_rhs {
7804 pub const LITERAL_VALUE: &str = "≤ n";
7806}
7807
7808pub mod term_ts_4_for_all {
7809 pub const VARIABLE_NAME: &str = "target: realisable n-site type synthesis goal";
7811}
7812
7813pub mod term_ts_5_lhs {
7814 pub const LITERAL_VALUE: &str = "SynthesizedType achieves IT_7d";
7816}
7817
7818pub mod term_ts_5_rhs {
7819 pub const LITERAL_VALUE: &str = "iff CompletenessResolver certifies CompleteType";
7821}
7822
7823pub mod term_ts_5_for_all {
7824 pub const VARIABLE_NAME: &str = "T: SynthesizedType";
7826}
7827
7828pub mod term_ts_6_lhs {
7829 pub const LITERAL_VALUE: &str = "E[steps, Jacobian-guided synthesis]";
7831}
7832
7833pub mod term_ts_6_rhs {
7834 pub const LITERAL_VALUE: &str = "O(n log n) vs O(n²) uninformed";
7836}
7837
7838pub mod term_ts_6_for_all {
7839 pub const VARIABLE_NAME: &str = "T: n-site type synthesis goal";
7841}
7842
7843pub mod term_ts_7_lhs {
7844 pub const LITERAL_VALUE: &str = "β₀(N(C)) for non-empty C";
7846}
7847
7848pub mod term_ts_7_rhs {
7849 pub const LITERAL_VALUE: &str = "≥ 1";
7851}
7852
7853pub mod term_ts_7_for_all {
7854 pub const VARIABLE_NAME: &str = "C: non-empty constraint set";
7856}
7857
7858pub mod term_wls_1_lhs {
7859 pub const LITERAL_VALUE: &str = "WittLift T' is CompleteType";
7861}
7862
7863pub mod term_wls_1_rhs {
7864 pub const LITERAL_VALUE: &str = "iff spectral sequence collapses at E_2";
7866}
7867
7868pub mod term_wls_1_for_all {
7869 pub const VARIABLE_NAME: &str = "T: CompleteType at Q_n, T': WittLift to Q_{n+1}";
7871}
7872
7873pub mod term_wls_2_lhs {
7874 pub const LITERAL_VALUE: &str = "non-trivial LiftObstruction location";
7876}
7877
7878pub mod term_wls_2_rhs {
7879 pub const LITERAL_VALUE: &str = "specific site at bit position n+1";
7881}
7882
7883pub mod term_wls_2_for_all {
7884 pub const VARIABLE_NAME: &str = "non-trivial LiftObstruction";
7886}
7887
7888pub mod term_wls_3_lhs {
7889 pub const LITERAL_VALUE: &str = "basisSize(T') for trivial lift";
7891}
7892
7893pub mod term_wls_3_rhs {
7894 pub const LITERAL_VALUE: &str = "basisSize(T) + 1";
7896}
7897
7898pub mod term_wls_3_for_all {
7899 pub const VARIABLE_NAME: &str = "T: CompleteType at Q_n with closed constraint set";
7901}
7902
7903pub mod term_wls_4_lhs {
7904 pub const LITERAL_VALUE: &str = "spectral sequence convergence page";
7906}
7907
7908pub mod term_wls_4_rhs {
7909 pub const LITERAL_VALUE: &str = "≤ E_{d+2}";
7911}
7912
7913pub mod term_wls_4_for_all {
7914 pub const VARIABLE_NAME: &str = "depth-d constraint configuration";
7916}
7917
7918pub mod term_wls_5_lhs {
7919 pub const LITERAL_VALUE: &str = "universallyValid identity in R_{n+1}";
7921}
7922
7923pub mod term_wls_5_rhs {
7924 pub const LITERAL_VALUE: &str = "holds with lifted constraint set";
7926}
7927
7928pub mod term_wls_5_for_all {
7929 pub const VARIABLE_NAME: &str = "every op:universallyValid identity, WittLift T'";
7931}
7932
7933pub mod term_wls_6_lhs {
7934 pub const LITERAL_VALUE: &str = "ψ-pipeline ChainComplex(T')";
7936}
7937
7938pub mod term_wls_6_rhs {
7939 pub const LITERAL_VALUE: &str = "valid and restricts to ChainComplex(T) on base nerve";
7941}
7942
7943pub mod term_wls_6_for_all {
7944 pub const VARIABLE_NAME: &str = "T': any WittLift of a CompleteType T";
7946}
7947
7948pub mod term_mn_1_lhs {
7949 pub const LITERAL_VALUE: &str = "HolonomyGroup(T)";
7951}
7952
7953pub mod term_mn_1_rhs {
7954 pub const LITERAL_VALUE: &str = "≤ D_{2^n}";
7956}
7957
7958pub mod term_mn_1_for_all {
7959 pub const VARIABLE_NAME: &str = "T: ConstrainedType over R_n";
7961}
7962
7963pub mod term_mn_2_lhs {
7964 pub const LITERAL_VALUE: &str = "HolonomyGroup(T) for additive constraints";
7966}
7967
7968pub mod term_mn_2_rhs {
7969 pub const LITERAL_VALUE: &str = "{id} (trivial: T is FlatType)";
7971}
7972
7973pub mod term_mn_2_for_all {
7974 pub const VARIABLE_NAME: &str = "T: all ResidueConstraint or DepthConstraint";
7976}
7977
7978pub mod term_mn_3_lhs {
7979 pub const LITERAL_VALUE: &str = "HolonomyGroup(T) with neg + bnot in closed path";
7981}
7982
7983pub mod term_mn_3_rhs {
7984 pub const LITERAL_VALUE: &str = "D_{2^n} (full dihedral holonomy)";
7986}
7987
7988pub mod term_mn_3_for_all {
7989 pub const VARIABLE_NAME: &str =
7991 "T: ConstrainedType with neg-related and bnot-related constraints in closed path";
7992}
7993
7994pub mod term_mn_4_lhs {
7995 pub const LITERAL_VALUE: &str = "HolonomyGroup(T) ≠ {id}";
7997}
7998
7999pub mod term_mn_4_rhs {
8000 pub const LITERAL_VALUE: &str = "⟹ β₁(N(C(T))) ≥ 1";
8002}
8003
8004pub mod term_mn_4_for_all {
8005 pub const VARIABLE_NAME: &str = "T: ConstrainedType";
8007}
8008
8009pub mod term_mn_5_lhs {
8010 pub const LITERAL_VALUE: &str = "CompleteType (IT_7d) ⟹ β₁ = 0 ⟹ holonomy";
8012}
8013
8014pub mod term_mn_5_rhs {
8015 pub const LITERAL_VALUE: &str = "trivial ⟹ FlatType";
8017}
8018
8019pub mod term_mn_5_for_all {
8020 pub const VARIABLE_NAME: &str = "T: CompleteType";
8022}
8023
8024pub mod term_mn_6_lhs {
8025 pub const LITERAL_VALUE: &str = "monodromy(p₁ · p₂)";
8027}
8028
8029pub mod term_mn_6_rhs {
8030 pub const LITERAL_VALUE: &str = "monodromy(p₁) · monodromy(p₂) in D_{2^n}";
8032}
8033
8034pub mod term_mn_6_for_all {
8035 pub const VARIABLE_NAME: &str = "p₁, p₂: ClosedConstraintPath";
8037}
8038
8039pub mod term_mn_7_lhs {
8040 pub const LITERAL_VALUE: &str = "TwistedType T ⟹ H²(N(C(T')); ℤ/2ℤ)";
8042}
8043
8044pub mod term_mn_7_rhs {
8045 pub const LITERAL_VALUE: &str = "non-zero class (non-trivial LiftObstruction)";
8047}
8048
8049pub mod term_mn_7_for_all {
8050 pub const VARIABLE_NAME: &str = "T': any WittLift of TwistedType T";
8052}
8053
8054pub mod term_pt_1_lhs {
8055 pub const LITERAL_VALUE: &str = "siteBudget(A × B)";
8057}
8058
8059pub mod term_pt_1_rhs {
8060 pub const LITERAL_VALUE: &str = "siteBudget(A) + siteBudget(B)";
8062}
8063
8064pub mod term_pt_1_for_all {
8065 pub const VARIABLE_NAME: &str = "A, B: TypeDefinition";
8067}
8068
8069pub mod term_pt_2_lhs {
8070 pub const LITERAL_VALUE: &str = "partition(A × B); grounds PartitionCertificate";
8072}
8073
8074pub mod term_pt_2_rhs {
8075 pub const LITERAL_VALUE: &str = "partition(A) ⊗ partition(B)";
8077}
8078
8079pub mod term_pt_2_for_all {
8080 pub const VARIABLE_NAME: &str =
8082 "A, B: TypeDefinition; ∀ cert:PartitionCertificate c: c.partitionComponent ∈ {Irreducible, Reducible, Units, Exterior}";
8083}
8084
8085pub mod term_pt_3_lhs {
8086 pub const LITERAL_VALUE: &str = "χ(N(C(A × B)))";
8088}
8089
8090pub mod term_pt_3_rhs {
8091 pub const LITERAL_VALUE: &str = "χ(N(C(A))) + χ(N(C(B)))";
8093}
8094
8095pub mod term_pt_3_for_all {
8096 pub const VARIABLE_NAME: &str = "A, B: TypeDefinition";
8098}
8099
8100pub mod term_pt_4_lhs {
8101 pub const LITERAL_VALUE: &str = "S(A × B)";
8103}
8104
8105pub mod term_pt_4_rhs {
8106 pub const LITERAL_VALUE: &str = "S(A) + S(B)";
8108}
8109
8110pub mod term_pt_4_for_all {
8111 pub const VARIABLE_NAME: &str = "A, B: TypeDefinition";
8113}
8114
8115pub mod term_st_1_lhs {
8116 pub const LITERAL_VALUE: &str = "siteBudget(A + B)";
8118}
8119
8120pub mod term_st_1_rhs {
8121 pub const LITERAL_VALUE: &str = "max(siteBudget(A), siteBudget(B))";
8123}
8124
8125pub mod term_st_1_for_all {
8126 pub const VARIABLE_NAME: &str = "A, B: TypeDefinition";
8128}
8129
8130pub mod term_st_2_lhs {
8131 pub const LITERAL_VALUE: &str = "S(A + B)";
8133}
8134
8135pub mod term_st_2_rhs {
8136 pub const LITERAL_VALUE: &str = "ln 2 + max(S(A), S(B))";
8138}
8139
8140pub mod term_st_2_for_all {
8141 pub const VARIABLE_NAME: &str = "A, B: TypeDefinition";
8143}
8144
8145pub mod term_gs_1_lhs {
8146 pub const LITERAL_VALUE: &str = "T_ctx(C)";
8148}
8149
8150pub mod term_gs_1_rhs {
8151 pub const LITERAL_VALUE: &str = "freeRank(C) × ln 2 / n";
8153}
8154
8155pub mod term_gs_1_for_all {
8156 pub const VARIABLE_NAME: &str = "C: Context, n = siteBudget";
8158}
8159
8160pub mod term_gs_2_lhs {
8161 pub const LITERAL_VALUE: &str = "σ(C)";
8163}
8164
8165pub mod term_gs_2_rhs {
8166 pub const LITERAL_VALUE: &str = "(n − freeRank(C)) / n";
8168}
8169
8170pub mod term_gs_2_for_all {
8171 pub const VARIABLE_NAME: &str = "C: Context, n = siteBudget";
8173}
8174
8175pub mod term_gs_3_lhs {
8176 pub const LITERAL_VALUE: &str = "σ(B_{i+1})";
8178}
8179
8180pub mod term_gs_3_rhs {
8181 pub const LITERAL_VALUE: &str = "≥ σ(B_i)";
8183}
8184
8185pub mod term_gs_3_for_all {
8186 pub const VARIABLE_NAME: &str = "i in Session S";
8188}
8189
8190pub mod term_gs_4_lhs {
8191 pub const LITERAL_VALUE: &str = "σ(C) = 1";
8193}
8194
8195pub mod term_gs_4_rhs {
8196 pub const LITERAL_VALUE: &str = "freeRank(C) = 0 ↔ S(C) = 0 ↔ T_ctx(C) = 0";
8198}
8199
8200pub mod term_gs_4_for_all {
8201 pub const VARIABLE_NAME: &str = "C: Context";
8203}
8204
8205pub mod term_gs_5_lhs {
8206 pub const LITERAL_VALUE: &str = "stepCount(q, C) at freeRank(C) = 0";
8208}
8209
8210pub mod term_gs_5_rhs {
8211 pub const LITERAL_VALUE: &str = "0";
8213}
8214
8215pub mod term_gs_5_for_all {
8216 pub const VARIABLE_NAME: &str = "q: Query, C: GroundedContext";
8218}
8219
8220pub mod term_gs_6_lhs {
8221 pub const LITERAL_VALUE: &str = "effectiveBudget(q, C)";
8223}
8224
8225pub mod term_gs_6_rhs {
8226 pub const LITERAL_VALUE: &str = "max(0, siteBudget(q.type) − |pinnedSites(C) ∩ q.siteSet|)";
8228}
8229
8230pub mod term_gs_6_for_all {
8231 pub const VARIABLE_NAME: &str = "q: Query, C: Context";
8233}
8234
8235pub mod term_gs_7_lhs {
8236 pub const LITERAL_VALUE: &str = "Cost_saturation(C)";
8238}
8239
8240pub mod term_gs_7_rhs {
8241 pub const LITERAL_VALUE: &str = "n × k_B T × ln 2";
8243}
8244
8245pub mod term_gs_7_for_all {
8246 pub const VARIABLE_NAME: &str = "C: GroundedContext, n = siteBudget";
8248}
8249
8250pub mod term_ms_1_lhs {
8251 pub const LITERAL_VALUE: &str = "β₀(N(C))";
8253}
8254
8255pub mod term_ms_1_rhs {
8256 pub const LITERAL_VALUE: &str = "≥ 1";
8258}
8259
8260pub mod term_ms_1_for_all {
8261 pub const VARIABLE_NAME: &str = "C: non-empty ConstrainedType";
8263}
8264
8265pub mod term_ms_2_lhs {
8266 pub const LITERAL_VALUE: &str = "χ(N(C))";
8268}
8269
8270pub mod term_ms_2_rhs {
8271 pub const LITERAL_VALUE: &str = "≤ n";
8273}
8274
8275pub mod term_ms_2_for_all {
8276 pub const VARIABLE_NAME: &str = "C: ConstrainedType at quantum level n";
8278}
8279
8280pub mod term_ms_3_lhs {
8281 pub const LITERAL_VALUE: &str = "χ(N(C + c))";
8283}
8284
8285pub mod term_ms_3_rhs {
8286 pub const LITERAL_VALUE: &str = "≥ χ(N(C))";
8288}
8289
8290pub mod term_ms_3_for_all {
8291 pub const VARIABLE_NAME: &str = "C: ConstrainedType, c: Constraint";
8293}
8294
8295pub mod term_ms_4_lhs {
8296 pub const LITERAL_VALUE: &str = "achievable(χ*, β_k*, n)";
8298}
8299
8300pub mod term_ms_4_rhs {
8301 pub const LITERAL_VALUE: &str = "→ achievable(χ*, β_k*, n+1)";
8303}
8304
8305pub mod term_ms_4_for_all {
8306 pub const VARIABLE_NAME: &str = "(χ*, β_k*) achievable at level n";
8308}
8309
8310pub mod term_ms_5_lhs {
8311 pub const LITERAL_VALUE: &str = "verified SynthesisSignature set";
8313}
8314
8315pub mod term_ms_5_rhs {
8316 pub const LITERAL_VALUE: &str = "→ exact morphospace boundary in the limit";
8318}
8319
8320pub mod term_ms_5_for_all {
8321 pub const VARIABLE_NAME: &str = "all quantum levels";
8323}
8324
8325pub mod term_gd_1_lhs {
8326 pub const LITERAL_VALUE: &str = "isGeodesic(T)";
8328}
8329
8330pub mod term_gd_1_rhs {
8331 pub const LITERAL_VALUE: &str = "AR_1-ordered(T) ∧ DC_10-selected(T)";
8333}
8334
8335pub mod term_gd_1_for_all {
8336 pub const VARIABLE_NAME: &str = "T: ComputationTrace";
8338}
8339
8340pub mod term_gd_2_lhs {
8341 pub const LITERAL_VALUE: &str = "ΔS_step(i) on geodesic";
8343}
8344
8345pub mod term_gd_2_rhs {
8346 pub const LITERAL_VALUE: &str = "ln 2";
8348}
8349
8350pub mod term_gd_2_for_all {
8351 pub const VARIABLE_NAME: &str = "step i of GeodesicTrace T";
8353}
8354
8355pub mod term_gd_3_lhs {
8356 pub const LITERAL_VALUE: &str = "Cost_geodesic(T)";
8358}
8359
8360pub mod term_gd_3_rhs {
8361 pub const LITERAL_VALUE: &str = "freeRank_initial × k_B T × ln 2";
8363}
8364
8365pub mod term_gd_3_for_all {
8366 pub const VARIABLE_NAME: &str = "T: GeodesicTrace";
8368}
8369
8370pub mod term_gd_4_lhs {
8371 pub const LITERAL_VALUE: &str = "Cost(T) for geodesic T";
8373}
8374
8375pub mod term_gd_4_rhs {
8376 pub const LITERAL_VALUE: &str = "= Cost(T') for any geodesic T' on same type";
8378}
8379
8380pub mod term_gd_4_for_all {
8381 pub const VARIABLE_NAME: &str = "T, T': GeodesicTrace on same ConstrainedType";
8383}
8384
8385pub mod term_gd_5_lhs {
8386 pub const LITERAL_VALUE: &str = "isSubgeodesic(T)";
8388}
8389
8390pub mod term_gd_5_rhs {
8391 pub const LITERAL_VALUE: &str = "∃ i: J_k(step_i) < max_{free} J_k(state_i)";
8393}
8394
8395pub mod term_gd_5_for_all {
8396 pub const VARIABLE_NAME: &str = "T: ComputationTrace";
8398}
8399
8400pub mod term_qm_1_lhs {
8401 pub const LITERAL_VALUE: &str = "S_vonNeumann(ψ)";
8403}
8404
8405pub mod term_qm_1_rhs {
8406 pub const LITERAL_VALUE: &str = "Cost_Landauer(collapse(ψ))";
8408}
8409
8410pub mod term_qm_1_for_all {
8411 pub const VARIABLE_NAME: &str = "ψ: SuperposedSiteState";
8413}
8414
8415pub mod term_qm_2_lhs {
8416 pub const LITERAL_VALUE: &str = "collapse(ψ)";
8418}
8419
8420pub mod term_qm_2_rhs {
8421 pub const LITERAL_VALUE: &str = "apply(ResidueConstraint, collapsed_site)";
8423}
8424
8425pub mod term_qm_2_for_all {
8426 pub const VARIABLE_NAME: &str = "ψ: SuperposedSiteState";
8428}
8429
8430pub mod term_qm_3_lhs {
8431 pub const LITERAL_VALUE: &str = "S_vN(ψ)";
8433}
8434
8435pub mod term_qm_3_rhs {
8436 pub const LITERAL_VALUE: &str = "∈ [0, ln 2]";
8438}
8439
8440pub mod term_qm_3_for_all {
8441 pub const VARIABLE_NAME: &str = "ψ: single-site SuperposedSiteState";
8443}
8444
8445pub mod term_qm_4_lhs {
8446 pub const LITERAL_VALUE: &str = "collapse(collapse(ψ))";
8448}
8449
8450pub mod term_qm_4_rhs {
8451 pub const LITERAL_VALUE: &str = "collapse(ψ)";
8453}
8454
8455pub mod term_qm_4_for_all {
8456 pub const VARIABLE_NAME: &str = "ψ: SuperposedSiteState";
8458}
8459
8460pub mod term_qm_5_lhs {
8461 pub const LITERAL_VALUE: &str = "Σᵢ |αᵢ|²";
8463}
8464
8465pub mod term_qm_5_rhs {
8466 pub const LITERAL_VALUE: &str = "1";
8468}
8469
8470pub mod term_qm_5_for_all {
8471 pub const VARIABLE_NAME: &str = "SuperposedSiteState ψ";
8473}
8474
8475pub mod term_rc_6_lhs {
8476 pub const LITERAL_VALUE: &str = "normalize(ψ)";
8478}
8479
8480pub mod term_rc_6_rhs {
8481 pub const LITERAL_VALUE: &str = "ψ / sqrt(Σ |αᵢ|²)";
8483}
8484
8485pub mod term_rc_6_for_all {
8486 pub const VARIABLE_NAME: &str = "SuperposedSiteState ψ";
8488}
8489
8490pub mod term_fpm_8_lhs {
8491 pub const LITERAL_VALUE: &str = "|Irr| + |Red| + |Unit| + |Ext|";
8493}
8494
8495pub mod term_fpm_8_rhs {
8496 pub const LITERAL_VALUE: &str = "2ⁿ";
8498}
8499
8500pub mod term_fpm_8_for_all {
8501 pub const VARIABLE_NAME: &str = "Partition P over R_n";
8503}
8504
8505pub mod term_fpm_9_lhs {
8506 pub const LITERAL_VALUE: &str = "x ∈ Ext(T)";
8508}
8509
8510pub mod term_fpm_9_rhs {
8511 pub const LITERAL_VALUE: &str = "x ∉ carrier(T)";
8513}
8514
8515pub mod term_fpm_9_for_all {
8516 pub const VARIABLE_NAME: &str = "TypeDefinition T, Datum x";
8518}
8519
8520pub mod term_mn_8_lhs {
8521 pub const LITERAL_VALUE: &str = "holonomyClassified(T)";
8523}
8524
8525pub mod term_mn_8_rhs {
8526 pub const LITERAL_VALUE: &str = "isFlatType(T) xor isTwistedType(T)";
8528}
8529
8530pub mod term_mn_8_for_all {
8531 pub const VARIABLE_NAME: &str = "ConstrainedType T with holonomyGroup";
8533}
8534
8535pub mod term_ql_8_lhs {
8536 pub const LITERAL_VALUE: &str = "wittLevelPredecessor(nextWittLevel(Q_k))";
8538}
8539
8540pub mod term_ql_8_rhs {
8541 pub const LITERAL_VALUE: &str = "Q_k";
8543}
8544
8545pub mod term_ql_8_for_all {
8546 pub const VARIABLE_NAME: &str = "WittLevel W_n with nextWittLevel defined";
8548}
8549
8550pub mod term_d_7_lhs {
8551 pub const LITERAL_VALUE: &str = "compose(rᵃ sᵖ, rᵇ sᵠ)";
8553}
8554
8555pub mod term_d_7_rhs {
8556 pub const LITERAL_VALUE: &str = "r^((a + (-1)ᵖ b) mod 2ⁿ) s^(p xor q)";
8558}
8559
8560pub mod term_d_7_for_all {
8561 pub const VARIABLE_NAME: &str = "DihedralElement rᵃ sᵖ, rᵇ sᵠ in D_{2ⁿ}";
8563}
8564
8565pub mod term_sp_1_lhs {
8566 pub const LITERAL_VALUE: &str = "resolve_superposition(classical(x))";
8568}
8569
8570pub mod term_sp_1_rhs {
8571 pub const LITERAL_VALUE: &str = "resolve_classical(x)";
8573}
8574
8575pub mod term_sp_1_for_all {
8576 pub const VARIABLE_NAME: &str = "Datum x";
8578}
8579
8580pub mod term_sp_2_lhs {
8581 pub const LITERAL_VALUE: &str = "collapse(resolve_superposition(ψ))";
8583}
8584
8585pub mod term_sp_2_rhs {
8586 pub const LITERAL_VALUE: &str = "resolve_classical(collapse(ψ))";
8588}
8589
8590pub mod term_sp_2_for_all {
8591 pub const VARIABLE_NAME: &str = "SuperposedSiteState ψ";
8593}
8594
8595pub mod term_sp_3_lhs {
8596 pub const LITERAL_VALUE: &str = "amplitudeVector(resolve_superposition(ψ))";
8598}
8599
8600pub mod term_sp_3_rhs {
8601 pub const LITERAL_VALUE: &str = "normalized";
8603}
8604
8605pub mod term_sp_3_for_all {
8606 pub const VARIABLE_NAME: &str = "SuperposedSiteState ψ";
8608}
8609
8610pub mod term_sp_4_lhs {
8611 pub const LITERAL_VALUE: &str = "P(collapse to site k)";
8613}
8614
8615pub mod term_sp_4_rhs {
8616 pub const LITERAL_VALUE: &str = "|α_k|²";
8618}
8619
8620pub mod term_sp_4_for_all {
8621 pub const VARIABLE_NAME: &str = "SuperposedSiteState ψ, site index k";
8623}
8624
8625pub mod term_pt_2a_lhs {
8626 pub const LITERAL_VALUE: &str = "Π(A × B)";
8628}
8629
8630pub mod term_pt_2a_rhs {
8631 pub const LITERAL_VALUE: &str = "PartitionProduct(Π(A), Π(B))";
8633}
8634
8635pub mod term_pt_2a_for_all {
8636 pub const VARIABLE_NAME: &str = "ProductType A × B";
8638}
8639
8640pub mod term_pt_2b_lhs {
8641 pub const LITERAL_VALUE: &str = "Π(A + B)";
8643}
8644
8645pub mod term_pt_2b_rhs {
8646 pub const LITERAL_VALUE: &str = "PartitionCoproduct(Π(A), Π(B))";
8648}
8649
8650pub mod term_pt_2b_for_all {
8651 pub const VARIABLE_NAME: &str = "SumType A + B";
8653}
8654
8655pub mod term_gd_6_lhs {
8656 pub const LITERAL_VALUE: &str = "isGeodesic(trace)";
8658}
8659
8660pub mod term_gd_6_rhs {
8661 pub const LITERAL_VALUE: &str = "isAR1Ordered(trace) ∧ isDC10Selected(trace)";
8663}
8664
8665pub mod term_gd_6_for_all {
8666 pub const VARIABLE_NAME: &str = "ComputationTrace trace";
8668}
8669
8670pub mod term_wt_1_lhs {
8671 pub const LITERAL_VALUE: &str = "LiftChain(Q_j, Q_k) valid";
8673}
8674
8675pub mod term_wt_1_rhs {
8676 pub const LITERAL_VALUE: &str = "every chainStep has trivial or resolved LiftObstruction";
8678}
8679
8680pub mod term_wt_1_for_all {
8681 pub const VARIABLE_NAME: &str = "LiftChain from Q_j to Q_k";
8683}
8684
8685pub mod term_wt_2_lhs {
8686 pub const LITERAL_VALUE: &str = "obstructionCount(chain)";
8688}
8689
8690pub mod term_wt_2_rhs {
8691 pub const LITERAL_VALUE: &str = "<= chainLength(chain)";
8693}
8694
8695pub mod term_wt_2_for_all {
8696 pub const VARIABLE_NAME: &str = "LiftChain";
8698}
8699
8700pub mod term_wt_3_lhs {
8701 pub const LITERAL_VALUE: &str = "resolvedBasisSize(Q_k)";
8703}
8704
8705pub mod term_wt_3_rhs {
8706 pub const LITERAL_VALUE: &str = "basisSize(Q_j) + chainLength + obstructionResolutionCost";
8708}
8709
8710pub mod term_wt_3_for_all {
8711 pub const VARIABLE_NAME: &str = "LiftChain with source Q_j, target Q_k";
8713}
8714
8715pub mod term_wt_4_lhs {
8716 pub const LITERAL_VALUE: &str = "isFlat(chain)";
8718}
8719
8720pub mod term_wt_4_rhs {
8721 pub const LITERAL_VALUE: &str = "obstructionCount = 0 iff HolonomyGroup trivial at every step";
8723}
8724
8725pub mod term_wt_4_for_all {
8726 pub const VARIABLE_NAME: &str = "LiftChain";
8728}
8729
8730pub mod term_wt_5_lhs {
8731 pub const LITERAL_VALUE: &str = "LiftChainCertificate exists";
8733}
8734
8735pub mod term_wt_5_rhs {
8736 pub const LITERAL_VALUE: &str = "CompleteType at Q_k satisfies IT_7d with witness chain";
8738}
8739
8740pub mod term_wt_5_for_all {
8741 pub const VARIABLE_NAME: &str = "Q_k for arbitrary k";
8743}
8744
8745pub mod term_wt_6_lhs {
8746 pub const LITERAL_VALUE: &str = "QT_3 with chainLength=1, cost=0";
8748}
8749
8750pub mod term_wt_6_rhs {
8751 pub const LITERAL_VALUE: &str = "reduces to QLS_3";
8753}
8754
8755pub mod term_wt_6_for_all {
8756 pub const VARIABLE_NAME: &str = "Single-step chains";
8758}
8759
8760pub mod term_wt_7_lhs {
8761 pub const LITERAL_VALUE: &str = "flat chain resolvedBasisSize(Q_k)";
8763}
8764
8765pub mod term_wt_7_rhs {
8766 pub const LITERAL_VALUE: &str = "basisSize(Q_j) + (k - j)";
8768}
8769
8770pub mod term_wt_7_for_all {
8771 pub const VARIABLE_NAME: &str = "LiftChain with isFlat = true";
8773}
8774
8775pub mod term_cc_pins_lhs {
8776 pub const LITERAL_VALUE: &str = "pinsSites(CarryConstraint(p))";
8778}
8779
8780pub mod term_cc_pins_rhs {
8781 pub const LITERAL_VALUE: &str = "{k : p(k)=1} union {first-zero(p)}";
8783}
8784
8785pub mod term_cc_pins_for_all {
8786 pub const VARIABLE_NAME: &str = "bit-pattern p in CarryConstraint";
8788}
8789
8790pub mod term_cc_cost_site_lhs {
8791 pub const LITERAL_VALUE: &str = "|pinsSites(CarryConstraint(p))|";
8793}
8794
8795pub mod term_cc_cost_site_rhs {
8796 pub const LITERAL_VALUE: &str = "popcount(p) + 1";
8798}
8799
8800pub mod term_cc_cost_site_for_all {
8801 pub const VARIABLE_NAME: &str = "bit-pattern p in CarryConstraint";
8803}
8804
8805pub mod term_jsat_rr_lhs {
8806 pub const LITERAL_VALUE: &str = "jointSat(Res(m1,r1), Res(m2,r2))";
8808}
8809
8810pub mod term_jsat_rr_rhs {
8811 pub const LITERAL_VALUE: &str = "gcd(m1,m2) | (r1 - r2)";
8813}
8814
8815pub mod term_jsat_rr_for_all {
8816 pub const VARIABLE_NAME: &str = "ResidueConstraint pairs over R_n";
8818}
8819
8820pub mod term_jsat_cr_lhs {
8821 pub const LITERAL_VALUE: &str = "jointSat(Carry(p), Res(m,r))";
8823}
8824
8825pub mod term_jsat_cr_rhs {
8826 pub const LITERAL_VALUE: &str = "pin-site intersection residue-class compatible";
8828}
8829
8830pub mod term_jsat_cr_for_all {
8831 pub const VARIABLE_NAME: &str = "CarryConstraint, ResidueConstraint pairs";
8833}
8834
8835pub mod term_jsat_cc_lhs {
8836 pub const LITERAL_VALUE: &str = "jointSat(Carry(p1), Carry(p2))";
8838}
8839
8840pub mod term_jsat_cc_rhs {
8841 pub const LITERAL_VALUE: &str = "p1 AND p2 conflict-free";
8843}
8844
8845pub mod term_jsat_cc_for_all {
8846 pub const VARIABLE_NAME: &str = "CarryConstraint pairs over R_n";
8848}
8849
8850pub mod term_d_8_lhs {
8851 pub const LITERAL_VALUE: &str = "(r^a s^p)^(-1)";
8853}
8854
8855pub mod term_d_8_rhs {
8856 pub const LITERAL_VALUE: &str = "r^(-(−1)^p a mod 2^n) s^p";
8858}
8859
8860pub mod term_d_8_for_all {
8861 pub const VARIABLE_NAME: &str = "a in 0..2^n, p in {0,1}";
8863}
8864
8865pub mod term_d_9_lhs {
8866 pub const LITERAL_VALUE: &str = "ord(r^k s^1)";
8868}
8869
8870pub mod term_d_9_rhs {
8871 pub const LITERAL_VALUE: &str = "2";
8873}
8874
8875pub mod term_d_9_for_all {
8876 pub const VARIABLE_NAME: &str = "k in Z/(2^n)Z";
8878}
8879
8880pub mod term_exp_1_lhs {
8881 pub const LITERAL_VALUE: &str = "carrier(C) is monotone";
8883}
8884
8885pub mod term_exp_1_rhs {
8886 pub const LITERAL_VALUE: &str = "all residues of C = modulus - 1, no Carry/Depth";
8888}
8889
8890pub mod term_exp_1_for_all {
8891 pub const VARIABLE_NAME: &str = "ConstrainedType C over R_n";
8893}
8894
8895pub mod term_exp_2_lhs {
8896 pub const LITERAL_VALUE: &str = "count of monotone ConstrainedTypes at Q_n";
8898}
8899
8900pub mod term_exp_2_rhs {
8901 pub const LITERAL_VALUE: &str = "2^n";
8903}
8904
8905pub mod term_exp_2_for_all {
8906 pub const VARIABLE_NAME: &str = "WittLevel W_n, n >= 1";
8908}
8909
8910pub mod term_exp_3_lhs {
8911 pub const LITERAL_VALUE: &str = "carrier(SumType(A,B))";
8913}
8914
8915pub mod term_exp_3_rhs {
8916 pub const LITERAL_VALUE: &str = "coproduct(carrier(A), carrier(B))";
8918}
8919
8920pub mod term_exp_3_for_all {
8921 pub const VARIABLE_NAME: &str = "SumType A + B";
8923}
8924
8925pub mod term_st_3_lhs {
8926 pub const LITERAL_VALUE: &str = "chi(N(C(A+B)))";
8928}
8929
8930pub mod term_st_3_rhs {
8931 pub const LITERAL_VALUE: &str = "chi(N(C(A))) + chi(N(C(B)))";
8933}
8934
8935pub mod term_st_3_for_all {
8936 pub const VARIABLE_NAME: &str = "disjoint SumType A + B";
8938}
8939
8940pub mod term_st_4_lhs {
8941 pub const LITERAL_VALUE: &str = "beta_k(N(C(A+B)))";
8943}
8944
8945pub mod term_st_4_rhs {
8946 pub const LITERAL_VALUE: &str = "beta_k(N(C(A))) + beta_k(N(C(B)))";
8948}
8949
8950pub mod term_st_4_for_all {
8951 pub const VARIABLE_NAME: &str = "disjoint SumType A + B, k >= 0";
8953}
8954
8955pub mod term_st_5_lhs {
8956 pub const LITERAL_VALUE: &str = "CompleteType(A + B)";
8958}
8959
8960pub mod term_st_5_rhs {
8961 pub const LITERAL_VALUE: &str = "CompleteType(A) and CompleteType(B) and Q(A)=Q(B)";
8963}
8964
8965pub mod term_st_5_for_all {
8966 pub const VARIABLE_NAME: &str = "SumType A + B";
8968}
8969
8970pub mod term_st_6_lhs {
8971 pub const LITERAL_VALUE: &str = "∃! tagSite(A + B)";
8973}
8974
8975pub mod term_st_6_rhs {
8976 pub const LITERAL_VALUE: &str =
8978 "uniqueSite ∉ dataSites(A) ∪ dataSites(B) ∧ carries ln 2 entropy (ST_2)";
8979}
8980
8981pub mod term_st_6_for_all {
8982 pub const VARIABLE_NAME: &str = "A, B: TypeDefinition";
8984}
8985
8986pub mod term_st_7_lhs {
8987 pub const LITERAL_VALUE: &str = "constraints(A + B)";
8989}
8990
8991pub mod term_st_7_rhs {
8992 pub const LITERAL_VALUE: &str = "constraints(A) ∪ {tag=0} ∪ constraints(B) ∪ {tag=1}";
8994}
8995
8996pub mod term_st_7_for_all {
8997 pub const VARIABLE_NAME: &str = "A, B: TypeDefinition";
8999}
9000
9001pub mod term_st_8_lhs {
9002 pub const LITERAL_VALUE: &str = "disjoint(N(C(A)), N(C(B)))";
9004}
9005
9006pub mod term_st_8_rhs {
9007 pub const LITERAL_VALUE: &str = "true";
9009}
9010
9011pub mod term_st_8_for_all {
9012 pub const VARIABLE_NAME: &str = "A + B constructed via ST_6 ∧ ST_7 ∧ layoutTagSite";
9014}
9015
9016pub mod term_st_9_lhs {
9017 pub const LITERAL_VALUE: &str = "χ(N(C(A + B)))";
9019}
9020
9021pub mod term_st_9_rhs {
9022 pub const LITERAL_VALUE: &str = "χ(N(C(A))) + χ(N(C(B)))";
9024}
9025
9026pub mod term_st_9_for_all {
9027 pub const VARIABLE_NAME: &str = "A + B constructed via PartitionCoproduct";
9029}
9030
9031pub mod term_st_10_lhs {
9032 pub const LITERAL_VALUE: &str = "β_k(A + B)";
9034}
9035
9036pub mod term_st_10_rhs {
9037 pub const LITERAL_VALUE: &str = "β_k(A) + β_k(B)";
9039}
9040
9041pub mod term_st_10_for_all {
9042 pub const VARIABLE_NAME: &str = "A + B constructed via PartitionCoproduct, k ≥ 0";
9044}
9045
9046pub mod term_cpt_1_lhs {
9047 pub const LITERAL_VALUE: &str = "siteBudget(A ⊠ B)";
9049}
9050
9051pub mod term_cpt_1_rhs {
9052 pub const LITERAL_VALUE: &str = "siteBudget(A) + siteBudget(B)";
9054}
9055
9056pub mod term_cpt_1_for_all {
9057 pub const VARIABLE_NAME: &str = "A, B: TypeDefinition";
9059}
9060
9061pub mod term_cpt_2a_lhs {
9062 pub const LITERAL_VALUE: &str = "Π(A ⊠ B)";
9064}
9065
9066pub mod term_cpt_2a_rhs {
9067 pub const LITERAL_VALUE: &str = "CartesianPartitionProduct(Π(A), Π(B))";
9069}
9070
9071pub mod term_cpt_2a_for_all {
9072 pub const VARIABLE_NAME: &str = "A, B: TypeDefinition";
9074}
9075
9076pub mod term_cpt_3_lhs {
9077 pub const LITERAL_VALUE: &str = "χ(N(C(A ⊠ B)))";
9079}
9080
9081pub mod term_cpt_3_rhs {
9082 pub const LITERAL_VALUE: &str = "χ(N(C(A))) · χ(N(C(B)))";
9084}
9085
9086pub mod term_cpt_3_for_all {
9087 pub const VARIABLE_NAME: &str = "A, B: TypeDefinition";
9089}
9090
9091pub mod term_cpt_4_lhs {
9092 pub const LITERAL_VALUE: &str = "β_k(A ⊠ B)";
9094}
9095
9096pub mod term_cpt_4_rhs {
9097 pub const LITERAL_VALUE: &str = "Σ_{i+j=k} β_i(A) · β_j(B)";
9099}
9100
9101pub mod term_cpt_4_for_all {
9102 pub const VARIABLE_NAME: &str = "A, B: TypeDefinition, k ≥ 0";
9104}
9105
9106pub mod term_cpt_5_lhs {
9107 pub const LITERAL_VALUE: &str = "S(A ⊠ B)";
9109}
9110
9111pub mod term_cpt_5_rhs {
9112 pub const LITERAL_VALUE: &str = "S(A) + S(B)";
9114}
9115
9116pub mod term_cpt_5_for_all {
9117 pub const VARIABLE_NAME: &str = "A, B: TypeDefinition";
9119}
9120
9121pub mod term_cpt_6_lhs {
9122 pub const LITERAL_VALUE: &str = "A ⊠ (B + C)";
9124}
9125
9126pub mod term_cpt_6_rhs {
9127 pub const LITERAL_VALUE: &str = "(A ⊠ B) + (A ⊠ C)";
9129}
9130
9131pub mod term_cpt_6_for_all {
9132 pub const VARIABLE_NAME: &str = "A, B, C: TypeDefinition";
9134}
9135
9136pub mod term_ts_8_lhs {
9137 pub const LITERAL_VALUE: &str = "min constraints for beta_1 = k";
9139}
9140
9141pub mod term_ts_8_rhs {
9142 pub const LITERAL_VALUE: &str = "2k + 1";
9144}
9145
9146pub mod term_ts_8_for_all {
9147 pub const VARIABLE_NAME: &str = "first Betti number k >= 1, n-site type";
9149}
9150
9151pub mod term_ts_9_lhs {
9152 pub const LITERAL_VALUE: &str = "TypeSynthesisResolver terminates";
9154}
9155
9156pub mod term_ts_9_rhs {
9157 pub const LITERAL_VALUE: &str = "within 2^n steps";
9159}
9160
9161pub mod term_ts_9_for_all {
9162 pub const VARIABLE_NAME: &str = "WittLevel W_n, any target signature";
9164}
9165
9166pub mod term_ts_10_lhs {
9167 pub const LITERAL_VALUE: &str = "ForbiddenSignature(sigma)";
9169}
9170
9171pub mod term_ts_10_rhs {
9172 pub const LITERAL_VALUE: &str = "no ConstrainedType with <= n constraints realises sigma";
9174}
9175
9176pub mod term_ts_10_for_all {
9177 pub const VARIABLE_NAME: &str = "topological signature sigma at Q_n";
9179}
9180
9181pub mod term_wt_8_lhs {
9182 pub const LITERAL_VALUE: &str = "ObstructionChain length from Q_j to Q_k";
9184}
9185
9186pub mod term_wt_8_rhs {
9187 pub const LITERAL_VALUE: &str = "<= (k-j) * C(basisSize(Q_j), 3)";
9189}
9190
9191pub mod term_wt_8_for_all {
9192 pub const VARIABLE_NAME: &str = "LiftChain from Q_j to Q_k";
9194}
9195
9196pub mod term_wt_9_lhs {
9197 pub const LITERAL_VALUE: &str = "TowerCompletenessResolver terminates";
9199}
9200
9201pub mod term_wt_9_rhs {
9202 pub const LITERAL_VALUE: &str = "within QT_8 bound";
9204}
9205
9206pub mod term_wt_9_for_all {
9207 pub const VARIABLE_NAME: &str = "LiftChain of finite length";
9209}
9210
9211pub mod term_coeff_1_lhs {
9212 pub const LITERAL_VALUE: &str = "standard coefficient ring for psi-pipeline";
9214}
9215
9216pub mod term_coeff_1_rhs {
9217 pub const LITERAL_VALUE: &str = "Z/2Z";
9219}
9220
9221pub mod term_coeff_1_for_all {
9222 pub const VARIABLE_NAME: &str = "CechNerve N(C) at any quantum level";
9224}
9225
9226pub mod term_go_1_lhs {
9227 pub const LITERAL_VALUE: &str = "pinsSites(killing constraint for obstruction c)";
9229}
9230
9231pub mod term_go_1_rhs {
9232 pub const LITERAL_VALUE: &str = "superset of pinsSites(C_i) cap pinsSites(C_j)";
9234}
9235
9236pub mod term_go_1_for_all {
9237 pub const VARIABLE_NAME: &str = "GluingObstruction c, cycle pair (C_i, C_j)";
9239}
9240
9241pub mod term_gr_6_lhs {
9242 pub const LITERAL_VALUE: &str = "freeRank(q) after grounding";
9244}
9245
9246pub mod term_gr_6_rhs {
9247 pub const LITERAL_VALUE: &str = "sites of q not in BindingAccumulator";
9249}
9250
9251pub mod term_gr_6_for_all {
9252 pub const VARIABLE_NAME: &str = "grounded Session, new RelationQuery q";
9254}
9255
9256pub mod term_gr_7_lhs {
9257 pub const LITERAL_VALUE: &str = "sigma after re-entry with query q";
9259}
9260
9261pub mod term_gr_7_rhs {
9262 pub const LITERAL_VALUE: &str = "min(sigma, 1 - freeRank(q)/n)";
9264}
9265
9266pub mod term_gr_7_for_all {
9267 pub const VARIABLE_NAME: &str = "SessionResolver, new query q";
9269}
9270
9271pub mod term_qm_6_lhs {
9272 pub const LITERAL_VALUE: &str = "amplitude index set of SuperposedSiteState over T";
9274}
9275
9276pub mod term_qm_6_rhs {
9277 pub const LITERAL_VALUE: &str = "monotone pinning trajectories consistent with T";
9279}
9280
9281pub mod term_qm_6_for_all {
9282 pub const VARIABLE_NAME: &str = "SuperposedSiteState over ConstrainedType T at Q_n";
9284}
9285
9286pub mod term_cic_1_lhs {
9287 pub const LITERAL_VALUE: &str = "valid(T) ∧ T: Transform";
9289}
9290
9291pub mod term_cic_1_rhs {
9292 pub const LITERAL_VALUE: &str = "∃ c: TransformCertificate. certifies(c, T)";
9294}
9295
9296pub mod term_cic_1_for_all {
9297 pub const VARIABLE_NAME: &str = "Transform T";
9299}
9300
9301pub mod term_cic_2_lhs {
9302 pub const LITERAL_VALUE: &str = "isometry(T) ∧ metric-preserving(T)";
9304}
9305
9306pub mod term_cic_2_rhs {
9307 pub const LITERAL_VALUE: &str = "∃ c: IsometryCertificate. certifies(c, T)";
9309}
9310
9311pub mod term_cic_2_for_all {
9312 pub const VARIABLE_NAME: &str = "Isometry T";
9314}
9315
9316pub mod term_cic_3_lhs {
9317 pub const LITERAL_VALUE: &str = "f(f(x)) = x ∀ x ∈ R_n";
9319}
9320
9321pub mod term_cic_3_rhs {
9322 pub const LITERAL_VALUE: &str = "∃ c: InvolutionCertificate. certifies(c, f)";
9324}
9325
9326pub mod term_cic_3_for_all {
9327 pub const VARIABLE_NAME: &str = "Involution f";
9329}
9330
9331pub mod term_cic_4_lhs {
9332 pub const LITERAL_VALUE: &str = "σ(C) = 1 ∧ freeRank = 0";
9334}
9335
9336pub mod term_cic_4_rhs {
9337 pub const LITERAL_VALUE: &str = "∃ c: GroundingCertificate. certifies(c, C)";
9339}
9340
9341pub mod term_cic_4_for_all {
9342 pub const VARIABLE_NAME: &str = "GroundedContext C";
9344}
9345
9346pub mod term_cic_5_lhs {
9347 pub const LITERAL_VALUE: &str = "AR_1-ordered ∧ DC_10-selected trace";
9349}
9350
9351pub mod term_cic_5_rhs {
9352 pub const LITERAL_VALUE: &str = "∃ c: GeodesicCertificate. certifies(c, trace)";
9354}
9355
9356pub mod term_cic_5_for_all {
9357 pub const VARIABLE_NAME: &str = "GeodesicTrace";
9359}
9360
9361pub mod term_cic_6_lhs {
9362 pub const LITERAL_VALUE: &str = "S_vN = L_cost at β* = ln 2";
9364}
9365
9366pub mod term_cic_6_rhs {
9367 pub const LITERAL_VALUE: &str = "∃ c: MeasurementCertificate. certifies(c, event)";
9369}
9370
9371pub mod term_cic_6_for_all {
9372 pub const VARIABLE_NAME: &str = "MeasurementEvent";
9374}
9375
9376pub mod term_cic_7_lhs {
9377 pub const LITERAL_VALUE: &str = "P(k) = |α_k|² verified";
9379}
9380
9381pub mod term_cic_7_rhs {
9382 pub const LITERAL_VALUE: &str = "∃ c: BornRuleVerification. certifies(c, event)";
9384}
9385
9386pub mod term_cic_7_for_all {
9387 pub const VARIABLE_NAME: &str = "MeasurementEvent with amplitude vector";
9389}
9390
9391pub mod term_gc_1_lhs {
9392 pub const LITERAL_VALUE: &str = "shared-frame grounding of symbol s";
9394}
9395
9396pub mod term_gc_1_rhs {
9397 pub const LITERAL_VALUE: &str = "∃ c: GroundingCertificate. certifies(c, map)";
9399}
9400
9401pub mod term_gc_1_for_all {
9402 pub const VARIABLE_NAME: &str = "GroundingMap with valid ProjectionMap";
9404}
9405
9406pub mod term_gr_8_lhs {
9407 pub const LITERAL_VALUE: &str = "compose(S_A, S_B) valid at Q_k";
9409}
9410
9411pub mod term_gr_8_rhs {
9412 pub const LITERAL_VALUE: &str =
9414 "∀ j ≤ k: ∀ a ∈ pinnedSites(S_A, Q_j) ∩ pinnedSites(S_B, Q_j): datum(S_A, a, Q_j) = datum(S_B, a, Q_j)";
9415}
9416
9417pub mod term_gr_8_for_all {
9418 pub const VARIABLE_NAME: &str = "S_A, S_B: Session at quantum level Q_k (k ≥ 0)";
9420}
9421
9422pub mod term_gr_9_lhs {
9423 pub const LITERAL_VALUE: &str = "leasedSites(L_A) ∩ leasedSites(L_B)";
9425}
9426
9427pub mod term_gr_9_rhs {
9428 pub const LITERAL_VALUE: &str = "= ∅";
9430}
9431
9432pub mod term_gr_9_for_all {
9433 pub const VARIABLE_NAME: &str = "L_A, L_B: ContextLease on SharedContext C, L_A ≠ L_B";
9435}
9436
9437pub mod term_gr_10_lhs {
9438 pub const LITERAL_VALUE: &str = "finalState(R, P_1, Q)";
9440}
9441
9442pub mod term_gr_10_rhs {
9443 pub const LITERAL_VALUE: &str = "= finalState(R, P_2, Q) for any P_1, P_2: ExecutionPolicy";
9445}
9446
9447pub mod term_gr_10_for_all {
9448 pub const VARIABLE_NAME: &str = "SessionResolver R with ExecutionPolicy P, pending query set Q";
9450}
9451
9452pub mod term_mc_1_lhs {
9453 pub const LITERAL_VALUE: &str = "Σᵢ freeRank(leasedSites(L_i))";
9455}
9456
9457pub mod term_mc_1_rhs {
9458 pub const LITERAL_VALUE: &str = "= freeRank(C)";
9460}
9461
9462pub mod term_mc_1_for_all {
9463 pub const VARIABLE_NAME: &str =
9465 "SharedContext C; leaseSet {L_1, …, L_k} covering all sites of C";
9466}
9467
9468pub mod term_mc_2_lhs {
9469 pub const LITERAL_VALUE: &str = "freeRank(B_{i+1} |_L)";
9471}
9472
9473pub mod term_mc_2_rhs {
9474 pub const LITERAL_VALUE: &str = "≤ freeRank(B_i |_L)";
9476}
9477
9478pub mod term_mc_2_for_all {
9479 pub const VARIABLE_NAME: &str =
9481 "ContextLease L held by Session S; binding step i within S restricted to leasedSites(L)";
9482}
9483
9484pub mod term_mc_3_lhs {
9485 pub const LITERAL_VALUE: &str = "freeRank(compose(S_A, S_B))";
9487}
9488
9489pub mod term_mc_3_rhs {
9490 pub const LITERAL_VALUE: &str =
9492 "freeRank(S_A) + freeRank(S_B) − |pinnedSites(S_A) ∩ pinnedSites(S_B)|";
9493}
9494
9495pub mod term_mc_3_for_all {
9496 pub const VARIABLE_NAME: &str = "S_A, S_B: Session; compose(S_A, S_B) valid (SR_8 satisfied)";
9498}
9499
9500pub mod term_mc_4_lhs {
9501 pub const LITERAL_VALUE: &str = "freeRank(compose(S_A, S_B))";
9503}
9504
9505pub mod term_mc_4_rhs {
9506 pub const LITERAL_VALUE: &str = "= freeRank(S_A) + freeRank(S_B)";
9508}
9509
9510pub mod term_mc_4_for_all {
9511 pub const VARIABLE_NAME: &str =
9513 "S_A, S_B on ContextLeases L_A, L_B within SharedContext C; SR_9 holds";
9514}
9515
9516pub mod term_mc_5_lhs {
9517 pub const LITERAL_VALUE: &str = "finalBindings(R, P_1, Q)";
9519}
9520
9521pub mod term_mc_5_rhs {
9522 pub const LITERAL_VALUE: &str = "= finalBindings(R, P_2, Q)";
9524}
9525
9526pub mod term_mc_5_for_all {
9527 pub const VARIABLE_NAME: &str =
9529 "SessionResolver R; pending query set Q; ExecutionPolicy P_1, P_2";
9530}
9531
9532pub mod term_mc_6_lhs {
9533 pub const LITERAL_VALUE: &str = "σ(compose(S_1, …, S_k))";
9535}
9536
9537pub mod term_mc_6_rhs {
9538 pub const LITERAL_VALUE: &str = "= 1 (FullGrounding)";
9540}
9541
9542pub mod term_mc_6_for_all {
9543 pub const VARIABLE_NAME: &str =
9545 "SharedContext C; leases {L_1, …, L_k} pairwise disjoint (SR_9) and fully covering C; each S_i with freeRank = 0 within L_i";
9546}
9547
9548pub mod term_mc_7_lhs {
9549 pub const LITERAL_VALUE: &str = "stepCount(q, C*)";
9551}
9552
9553pub mod term_mc_7_rhs {
9554 pub const LITERAL_VALUE: &str = "= 0";
9556}
9557
9558pub mod term_mc_7_for_all {
9559 pub const VARIABLE_NAME: &str =
9561 "q: RelationQuery; C* = compose(S_1, …, S_k) with σ(C*) = 1 by MC_6";
9562}
9563
9564pub mod term_mc_8_lhs {
9565 pub const LITERAL_VALUE: &str = "max_i stepCount(S_i to convergence within L_i)";
9567}
9568
9569pub mod term_mc_8_rhs {
9570 pub const LITERAL_VALUE: &str = "≤ ⌈n/k⌉";
9572}
9573
9574pub mod term_mc_8_for_all {
9575 pub const VARIABLE_NAME: &str =
9577 "SharedContext C with totalSites = n; uniform partition into k leases";
9578}
9579
9580pub mod term_wc_1_lhs {
9581 pub const LITERAL_VALUE: &str = "a_k(x)";
9583}
9584
9585pub mod term_wc_1_rhs {
9586 pub const LITERAL_VALUE: &str = "x_k (k-th bit of x)";
9588}
9589
9590pub mod term_wc_1_for_all {
9591 pub const VARIABLE_NAME: &str = "x ∈ R_n, 0 ≤ k < n";
9593}
9594
9595pub mod term_wc_2_lhs {
9596 pub const LITERAL_VALUE: &str = "S_k − x_k − y_k (mod 2)";
9598}
9599
9600pub mod term_wc_2_rhs {
9601 pub const LITERAL_VALUE: &str = "c_k(x,y)";
9603}
9604
9605pub mod term_wc_2_for_all {
9606 pub const VARIABLE_NAME: &str = "x, y ∈ R_n, 0 ≤ k < n";
9608}
9609
9610pub mod term_wc_3_lhs {
9611 pub const LITERAL_VALUE: &str = "CA_2 recurrence";
9613}
9614
9615pub mod term_wc_3_rhs {
9616 pub const LITERAL_VALUE: &str = "S_{k+1} ghost equation at p=2";
9618}
9619
9620pub mod term_wc_3_for_all {
9621 pub const VARIABLE_NAME: &str = "x, y ∈ R_n";
9623}
9624
9625pub mod term_wc_4_lhs {
9626 pub const LITERAL_VALUE: &str = "δ_k(x+y) correction";
9628}
9629
9630pub mod term_wc_4_rhs {
9631 pub const LITERAL_VALUE: &str = "c_{k+1}(x,y)";
9633}
9634
9635pub mod term_wc_4_for_all {
9636 pub const VARIABLE_NAME: &str = "x, y ∈ R_n";
9638}
9639
9640pub mod term_wc_5_lhs {
9641 pub const LITERAL_VALUE: &str = "obstruction_trivial = false";
9643}
9644
9645pub mod term_wc_5_rhs {
9646 pub const LITERAL_VALUE: &str = "δ_k ≠ 0 for some pair";
9648}
9649
9650pub mod term_wc_5_for_all {
9651 pub const VARIABLE_NAME: &str = "Q_k, k ≥ 1";
9653}
9654
9655pub mod term_wc_6_lhs {
9656 pub const LITERAL_VALUE: &str = "d_Δ(x,y) > 0";
9658}
9659
9660pub mod term_wc_6_rhs {
9661 pub const LITERAL_VALUE: &str = "ghost defect nonzero";
9663}
9664
9665pub mod term_wc_6_for_all {
9666 pub const VARIABLE_NAME: &str = "x, y ∈ R_n";
9668}
9669
9670pub mod term_wc_7_lhs {
9671 pub const LITERAL_VALUE: &str = "succ^{2ⁿ}(x) = x";
9673}
9674
9675pub mod term_wc_7_rhs {
9676 pub const LITERAL_VALUE: &str = "r^{2ⁿ} = 1 in Witt-Burnside ring";
9678}
9679
9680pub mod term_wc_7_for_all {
9681 pub const VARIABLE_NAME: &str = "x ∈ R_n, n ≥ 1";
9683}
9684
9685pub mod term_wc_8_lhs {
9686 pub const LITERAL_VALUE: &str = "neg(succ(neg(x)))";
9688}
9689
9690pub mod term_wc_8_rhs {
9691 pub const LITERAL_VALUE: &str = "srs = r⁻¹ relation";
9693}
9694
9695pub mod term_wc_8_for_all {
9696 pub const VARIABLE_NAME: &str = "x ∈ R_n, n ≥ 1";
9698}
9699
9700pub mod term_wc_9_lhs {
9701 pub const LITERAL_VALUE: &str = "bnot(neg(x)) = pred(x)";
9703}
9704
9705pub mod term_wc_9_rhs {
9706 pub const LITERAL_VALUE: &str = "Product of Witt-Burnside reflections";
9708}
9709
9710pub mod term_wc_9_for_all {
9711 pub const VARIABLE_NAME: &str = "x ∈ R_n, n ≥ 1";
9713}
9714
9715pub mod term_wc_10_lhs {
9716 pub const LITERAL_VALUE: &str = "φ(x) on W_n(F_2)";
9718}
9719
9720pub mod term_wc_10_rhs {
9721 pub const LITERAL_VALUE: &str = "x (identity, F_2 perfect)";
9723}
9724
9725pub mod term_wc_10_for_all {
9726 pub const VARIABLE_NAME: &str = "x ∈ R_n, n ≥ 1";
9728}
9729
9730pub mod term_wc_11_lhs {
9731 pub const LITERAL_VALUE: &str = "V(x) on W_n(F_2)";
9733}
9734
9735pub mod term_wc_11_rhs {
9736 pub const LITERAL_VALUE: &str = "add(x, x) in Z/(2ⁿ)Z";
9738}
9739
9740pub mod term_wc_11_for_all {
9741 pub const VARIABLE_NAME: &str = "x ∈ R_n, n ≥ 1";
9743}
9744
9745pub mod term_wc_12_lhs {
9746 pub const LITERAL_VALUE: &str = "δ(x) on W_n(F_2)";
9748}
9749
9750pub mod term_wc_12_rhs {
9751 pub const LITERAL_VALUE: &str = "(x − mul(x,x)) / 2";
9753}
9754
9755pub mod term_wc_12_for_all {
9756 pub const VARIABLE_NAME: &str = "x ∈ R_n, n ≥ 2";
9758}
9759
9760pub mod term_oa_1_lhs {
9761 pub const LITERAL_VALUE: &str = "|2|_2 · |2|_∞";
9763}
9764
9765pub mod term_oa_1_rhs {
9766 pub const LITERAL_VALUE: &str = "1 in Q×";
9768}
9769
9770pub mod term_oa_1_for_all {
9771 pub const VARIABLE_NAME: &str = "p = 2";
9773}
9774
9775pub mod term_oa_2_lhs {
9776 pub const LITERAL_VALUE: &str = "CrossingCost(p=2)";
9778}
9779
9780pub mod term_oa_2_rhs {
9781 pub const LITERAL_VALUE: &str = "ln 2 = −ln|2|_2";
9783}
9784
9785pub mod term_oa_2_for_all {
9786 pub const VARIABLE_NAME: &str = "p = 2";
9788}
9789
9790pub mod term_oa_3_lhs {
9791 pub const LITERAL_VALUE: &str = "β* in Cost_Landauer";
9793}
9794
9795pub mod term_oa_3_rhs {
9796 pub const LITERAL_VALUE: &str = "CrossingCost(p=2)";
9798}
9799
9800pub mod term_oa_3_for_all {
9801 pub const VARIABLE_NAME: &str = "p = 2";
9803}
9804
9805pub mod term_oa_4_lhs {
9806 pub const LITERAL_VALUE: &str = "P(outcome k) = |α_k|_∞²";
9808}
9809
9810pub mod term_oa_4_rhs {
9811 pub const LITERAL_VALUE: &str = "Archimedean image of 2-adic amplitude";
9813}
9814
9815pub mod term_oa_4_for_all {
9816 pub const VARIABLE_NAME: &str = "rational amplitudes";
9818}
9819
9820pub mod term_oa_5_lhs {
9821 pub const LITERAL_VALUE: &str =
9823 "Information cost of delta (division by 2); grounds MultiplicationCertificate";
9824}
9825
9826pub mod term_oa_5_rhs {
9827 pub const LITERAL_VALUE: &str = "ln 2 nats per MultiplicationCertificate sub-multiplication";
9829}
9830
9831pub mod term_oa_5_for_all {
9832 pub const VARIABLE_NAME: &str = "p = 2; every MultiplicationCertificate accumulates OA_5 cost";
9834}
9835
9836pub mod term_ht_1_lhs {
9837 pub const LITERAL_VALUE: &str = "N(C)";
9839}
9840
9841pub mod term_ht_1_rhs {
9842 pub const LITERAL_VALUE: &str = "KanComplex";
9844}
9845
9846pub mod term_ht_1_for_all {
9847 pub const VARIABLE_NAME: &str = "constraint configuration C";
9849}
9850
9851pub mod term_ht_2_lhs {
9852 pub const LITERAL_VALUE: &str = "π₀(N(C))";
9854}
9855
9856pub mod term_ht_2_rhs {
9857 pub const LITERAL_VALUE: &str = "Z^{β₀}";
9859}
9860
9861pub mod term_ht_2_for_all {
9862 pub const VARIABLE_NAME: &str = "constraint configuration C";
9864}
9865
9866pub mod term_ht_3_lhs {
9867 pub const LITERAL_VALUE: &str = "π₁(N(C)) → D_{2^n}";
9869}
9870
9871pub mod term_ht_3_rhs {
9872 pub const LITERAL_VALUE: &str = "HolonomyGroup factorization";
9874}
9875
9876pub mod term_ht_3_for_all {
9877 pub const VARIABLE_NAME: &str = "constraint configuration C";
9879}
9880
9881pub mod term_ht_4_lhs {
9882 pub const LITERAL_VALUE: &str = "π_k(N(C)) for k > dim(N(C))";
9884}
9885
9886pub mod term_ht_4_rhs {
9887 pub const LITERAL_VALUE: &str = "0";
9889}
9890
9891pub mod term_ht_4_for_all {
9892 pub const VARIABLE_NAME: &str = "constraint configuration C, k > dim(N(C))";
9894}
9895
9896pub mod term_ht_5_lhs {
9897 pub const LITERAL_VALUE: &str = "τ_{≤1}(N(C))";
9899}
9900
9901pub mod term_ht_5_rhs {
9902 pub const LITERAL_VALUE: &str = "FlatType/TwistedType classification";
9904}
9905
9906pub mod term_ht_5_for_all {
9907 pub const VARIABLE_NAME: &str = "constraint configuration C";
9909}
9910
9911pub mod term_ht_6_lhs {
9912 pub const LITERAL_VALUE: &str = "κ_k trivial for all k > d";
9914}
9915
9916pub mod term_ht_6_rhs {
9917 pub const LITERAL_VALUE: &str = "spectral sequence collapses at E_{d+2}";
9919}
9920
9921pub mod term_ht_6_for_all {
9922 pub const VARIABLE_NAME: &str = "constraint configuration C, d = max simplex dim";
9924}
9925
9926pub mod term_ht_7_lhs {
9927 pub const LITERAL_VALUE: &str = "[α, β] ≠ 0 in π_{p+q−1}";
9929}
9930
9931pub mod term_ht_7_rhs {
9932 pub const LITERAL_VALUE: &str = "LiftObstruction non-trivial";
9934}
9935
9936pub mod term_ht_7_for_all {
9937 pub const VARIABLE_NAME: &str = "α ∈ π_p, β ∈ π_q";
9939}
9940
9941pub mod term_ht_8_lhs {
9942 pub const LITERAL_VALUE: &str = "π_k(N(C)) ⊗ Z";
9944}
9945
9946pub mod term_ht_8_rhs {
9947 pub const LITERAL_VALUE: &str = "H_k(N(C); Z) for smallest k with π_k ≠ 0";
9949}
9950
9951pub mod term_ht_8_for_all {
9952 pub const VARIABLE_NAME: &str = "constraint configuration C";
9954}
9955
9956pub mod term_psi_7_lhs {
9957 pub const LITERAL_VALUE: &str = "KanComplex(N(C))";
9959}
9960
9961pub mod term_psi_7_rhs {
9962 pub const LITERAL_VALUE: &str = "PostnikovTower";
9964}
9965
9966pub mod term_psi_7_for_all {
9967 pub const VARIABLE_NAME: &str = "constraint configuration C";
9969}
9970
9971pub mod term_psi_8_lhs {
9972 pub const LITERAL_VALUE: &str = "PostnikovTower(τ≤k)";
9974}
9975
9976pub mod term_psi_8_rhs {
9977 pub const LITERAL_VALUE: &str = "HomotopyGroups(π_k)";
9979}
9980
9981pub mod term_psi_8_for_all {
9982 pub const VARIABLE_NAME: &str = "constraint configuration C";
9984}
9985
9986pub mod term_psi_9_lhs {
9987 pub const LITERAL_VALUE: &str = "HomotopyGroups(π_k)";
9989}
9990
9991pub mod term_psi_9_rhs {
9992 pub const LITERAL_VALUE: &str = "KInvariants(κ_k)";
9994}
9995
9996pub mod term_psi_9_for_all {
9997 pub const VARIABLE_NAME: &str = "constraint configuration C";
9999}
10000
10001pub mod term_hp_1_lhs {
10002 pub const LITERAL_VALUE: &str = "ψ_7 ∘ ψ_1";
10004}
10005
10006pub mod term_hp_1_rhs {
10007 pub const LITERAL_VALUE: &str = "Kan promotion of nerve";
10009}
10010
10011pub mod term_hp_1_for_all {
10012 pub const VARIABLE_NAME: &str = "constraint configuration C";
10014}
10015
10016pub mod term_hp_2_lhs {
10017 pub const LITERAL_VALUE: &str = "ψ_8(τ≤k) restricted";
10019}
10020
10021pub mod term_hp_2_rhs {
10022 pub const LITERAL_VALUE: &str = "ψ_3(C≤k)";
10024}
10025
10026pub mod term_hp_2_for_all {
10027 pub const VARIABLE_NAME: &str = "constraint configuration C, truncation level k";
10029}
10030
10031pub mod term_hp_3_lhs {
10032 pub const LITERAL_VALUE: &str = "ψ_9 detects convergence";
10034}
10035
10036pub mod term_hp_3_rhs {
10037 pub const LITERAL_VALUE: &str = "spectral sequence converges at E_{d+2}";
10039}
10040
10041pub mod term_hp_3_for_all {
10042 pub const VARIABLE_NAME: &str = "constraint configuration C";
10044}
10045
10046pub mod term_hp_4_lhs {
10047 pub const LITERAL_VALUE: &str = "HomotopyResolver time";
10049}
10050
10051pub mod term_hp_4_rhs {
10052 pub const LITERAL_VALUE: &str = "O(n^{d+1})";
10054}
10055
10056pub mod term_hp_4_for_all {
10057 pub const VARIABLE_NAME: &str = "d = max simplex dimension";
10059}
10060
10061pub mod term_md_1_lhs {
10062 pub const LITERAL_VALUE: &str = "dim(M_n)";
10064}
10065
10066pub mod term_md_1_rhs {
10067 pub const LITERAL_VALUE: &str = "basisSize(T)";
10069}
10070
10071pub mod term_md_1_for_all {
10072 pub const VARIABLE_NAME: &str = "T in M_n";
10074}
10075
10076pub mod term_md_2_lhs {
10077 pub const LITERAL_VALUE: &str = "H^0(Def(T))";
10079}
10080
10081pub mod term_md_2_rhs {
10082 pub const LITERAL_VALUE: &str = "Aut(T) ∩ D_{2^n}";
10084}
10085
10086pub mod term_md_2_for_all {
10087 pub const VARIABLE_NAME: &str = "CompleteType T";
10089}
10090
10091pub mod term_md_3_lhs {
10092 pub const LITERAL_VALUE: &str = "H^1(Def(T))";
10094}
10095
10096pub mod term_md_3_rhs {
10097 pub const LITERAL_VALUE: &str = "T_T(M_n)";
10099}
10100
10101pub mod term_md_3_for_all {
10102 pub const VARIABLE_NAME: &str = "CompleteType T";
10104}
10105
10106pub mod term_md_4_lhs {
10107 pub const LITERAL_VALUE: &str = "H^2(Def(T))";
10109}
10110
10111pub mod term_md_4_rhs {
10112 pub const LITERAL_VALUE: &str = "LiftObstruction space";
10114}
10115
10116pub mod term_md_4_for_all {
10117 pub const VARIABLE_NAME: &str = "CompleteType T";
10119}
10120
10121pub mod term_md_5_lhs {
10122 pub const LITERAL_VALUE: &str = "FlatType stratum codimension";
10124}
10125
10126pub mod term_md_5_rhs {
10127 pub const LITERAL_VALUE: &str = "0";
10129}
10130
10131pub mod term_md_5_for_all {
10132 pub const VARIABLE_NAME: &str = "M_n at any quantum level";
10134}
10135
10136pub mod term_md_6_lhs {
10137 pub const LITERAL_VALUE: &str = "TwistedType stratum codimension";
10139}
10140
10141pub mod term_md_6_rhs {
10142 pub const LITERAL_VALUE: &str = "≥ 1";
10144}
10145
10146pub mod term_md_6_for_all {
10147 pub const VARIABLE_NAME: &str = "M_n at any quantum level";
10149}
10150
10151pub mod term_md_7_lhs {
10152 pub const LITERAL_VALUE: &str = "VersalDeformation existence";
10154}
10155
10156pub mod term_md_7_rhs {
10157 pub const LITERAL_VALUE: &str = "guaranteed when H^2 = 0";
10159}
10160
10161pub mod term_md_7_for_all {
10162 pub const VARIABLE_NAME: &str = "CompleteType T";
10164}
10165
10166pub mod term_md_8_lhs {
10167 pub const LITERAL_VALUE: &str = "familyPreservesCompleteness";
10169}
10170
10171pub mod term_md_8_rhs {
10172 pub const LITERAL_VALUE: &str = "H^2(Def(T_t)) = 0 along path";
10174}
10175
10176pub mod term_md_8_for_all {
10177 pub const VARIABLE_NAME: &str = "DeformationFamily {C_t}";
10179}
10180
10181pub mod term_md_9_lhs {
10182 pub const LITERAL_VALUE: &str = "site(ModuliTowerMap, T) dimension";
10184}
10185
10186pub mod term_md_9_rhs {
10187 pub const LITERAL_VALUE: &str = "1 when obstructionTrivial";
10189}
10190
10191pub mod term_md_9_for_all {
10192 pub const VARIABLE_NAME: &str = "CompleteType T, obstruction = 0";
10194}
10195
10196pub mod term_md_10_lhs {
10197 pub const LITERAL_VALUE: &str = "site(ModuliTowerMap, T)";
10199}
10200
10201pub mod term_md_10_rhs {
10202 pub const LITERAL_VALUE: &str = "empty iff TwistedType at every level";
10204}
10205
10206pub mod term_md_10_for_all {
10207 pub const VARIABLE_NAME: &str = "CompleteType T";
10209}
10210
10211pub mod term_mr_1_lhs {
10212 pub const LITERAL_VALUE: &str = "ModuliResolver boundary";
10214}
10215
10216pub mod term_mr_1_rhs {
10217 pub const LITERAL_VALUE: &str = "MorphospaceBoundary";
10219}
10220
10221pub mod term_mr_1_for_all {
10222 pub const VARIABLE_NAME: &str = "M_n";
10224}
10225
10226pub mod term_mr_2_lhs {
10227 pub const LITERAL_VALUE: &str = "StratificationRecord coverage";
10229}
10230
10231pub mod term_mr_2_rhs {
10232 pub const LITERAL_VALUE: &str = "every CompleteType in exactly one stratum";
10234}
10235
10236pub mod term_mr_2_for_all {
10237 pub const VARIABLE_NAME: &str = "M_n";
10239}
10240
10241pub mod term_mr_3_lhs {
10242 pub const LITERAL_VALUE: &str = "ModuliResolver complexity";
10244}
10245
10246pub mod term_mr_3_rhs {
10247 pub const LITERAL_VALUE: &str = "O(n × basisSize²)";
10249}
10250
10251pub mod term_mr_3_for_all {
10252 pub const VARIABLE_NAME: &str = "CompleteType T";
10254}
10255
10256pub mod term_mr_4_lhs {
10257 pub const LITERAL_VALUE: &str = "achievabilityStatus = Achievable";
10259}
10260
10261pub mod term_mr_4_rhs {
10262 pub const LITERAL_VALUE: &str = "signature in some HolonomyStratum";
10264}
10265
10266pub mod term_mr_4_for_all {
10267 pub const VARIABLE_NAME: &str = "MorphospaceRecord";
10269}
10270
10271pub mod term_cy_1_lhs {
10272 pub const LITERAL_VALUE: &str = "generate(k)";
10274}
10275
10276pub mod term_cy_1_rhs {
10277 pub const LITERAL_VALUE: &str = "and(x_k, y_k) = 1";
10279}
10280
10281pub mod term_cy_1_for_all {
10282 pub const VARIABLE_NAME: &str = "x, y ∈ R_n, 0 ≤ k < n";
10284}
10285
10286pub mod term_cy_2_lhs {
10287 pub const LITERAL_VALUE: &str = "propagate(k)";
10289}
10290
10291pub mod term_cy_2_rhs {
10292 pub const LITERAL_VALUE: &str = "xor(x_k, y_k) = 1 ∧ c_k = 1";
10294}
10295
10296pub mod term_cy_2_for_all {
10297 pub const VARIABLE_NAME: &str = "x, y ∈ R_n, 0 ≤ k < n";
10299}
10300
10301pub mod term_cy_3_lhs {
10302 pub const LITERAL_VALUE: &str = "kill(k)";
10304}
10305
10306pub mod term_cy_3_rhs {
10307 pub const LITERAL_VALUE: &str = "and(x_k, y_k) = 0 ∧ xor(x_k, y_k) = 0";
10309}
10310
10311pub mod term_cy_3_for_all {
10312 pub const VARIABLE_NAME: &str = "x, y ∈ R_n, 0 ≤ k < n";
10314}
10315
10316pub mod term_cy_4_lhs {
10317 pub const LITERAL_VALUE: &str = "d_Δ(x, y)";
10319}
10320
10321pub mod term_cy_4_rhs {
10322 pub const LITERAL_VALUE: &str = "|carryCount(x+y) − hammingDistance(x, y)|";
10324}
10325
10326pub mod term_cy_4_for_all {
10327 pub const VARIABLE_NAME: &str = "x, y ∈ R_n";
10329}
10330
10331pub mod term_cy_5_lhs {
10332 pub const LITERAL_VALUE: &str = "argmin_enc Σ d_Δ(enc(s_i), enc(s_j))";
10334}
10335
10336pub mod term_cy_5_rhs {
10337 pub const LITERAL_VALUE: &str = "enc where carry significance ≅ domain dependency";
10339}
10340
10341pub mod term_cy_5_for_all {
10342 pub const VARIABLE_NAME: &str = "finite symbol set S, observed pairs (s_i, s_j)";
10344}
10345
10346pub mod term_cy_6_lhs {
10347 pub const LITERAL_VALUE: &str = "min d_Δ site ordering";
10349}
10350
10351pub mod term_cy_6_rhs {
10352 pub const LITERAL_VALUE: &str = "high-significance sites → most informative observables";
10354}
10355
10356pub mod term_cy_6_for_all {
10357 pub const VARIABLE_NAME: &str = "EncodingConfiguration over ordered domain";
10359}
10360
10361pub mod term_cy_7_lhs {
10362 pub const LITERAL_VALUE: &str = "T(carry_chain(n))";
10364}
10365
10366pub mod term_cy_7_rhs {
10367 pub const LITERAL_VALUE: &str = "O(log n) via prefix computation on (g_k, p_k) pairs";
10369}
10370
10371pub mod term_cy_7_for_all {
10372 pub const VARIABLE_NAME: &str = "CarryChain of length n";
10374}
10375
10376pub mod term_bm_1_lhs {
10377 pub const LITERAL_VALUE: &str = "σ(C)";
10379}
10380
10381pub mod term_bm_1_rhs {
10382 pub const LITERAL_VALUE: &str = "(n − freeRank(C)) / n";
10384}
10385
10386pub mod term_bm_1_for_all {
10387 pub const VARIABLE_NAME: &str = "Context C with n sites";
10389}
10390
10391pub mod term_bm_2_lhs {
10392 pub const LITERAL_VALUE: &str = "χ(nerve(C))";
10394}
10395
10396pub mod term_bm_2_rhs {
10397 pub const LITERAL_VALUE: &str = "Σ(−1)^k β_k(nerve(C))";
10399}
10400
10401pub mod term_bm_2_for_all {
10402 pub const VARIABLE_NAME: &str = "constraint set C";
10404}
10405
10406pub mod term_bm_3_lhs {
10407 pub const LITERAL_VALUE: &str = "Σκ_k − χ";
10409}
10410
10411pub mod term_bm_3_rhs {
10412 pub const LITERAL_VALUE: &str = "S_residual / ln 2";
10414}
10415
10416pub mod term_bm_3_for_all {
10417 pub const VARIABLE_NAME: &str = "computation state";
10419}
10420
10421pub mod term_bm_4_lhs {
10422 pub const LITERAL_VALUE: &str = "J_k (pinned site k)";
10424}
10425
10426pub mod term_bm_4_rhs {
10427 pub const LITERAL_VALUE: &str = "0";
10429}
10430
10431pub mod term_bm_4_for_all {
10432 pub const VARIABLE_NAME: &str = "pinned site k";
10434}
10435
10436pub mod term_bm_5_lhs {
10437 pub const LITERAL_VALUE: &str = "d_Δ(x, y) > 0";
10439}
10440
10441pub mod term_bm_5_rhs {
10442 pub const LITERAL_VALUE: &str = "carry(x + y) ≠ 0";
10444}
10445
10446pub mod term_bm_5_for_all {
10447 pub const VARIABLE_NAME: &str = "x, y ∈ R_n";
10449}
10450
10451pub mod term_bm_6_lhs {
10452 pub const LITERAL_VALUE: &str = "metric tower";
10454}
10455
10456pub mod term_bm_6_rhs {
10457 pub const LITERAL_VALUE: &str = "d_Δ → {σ, J_k} → β_k → χ → r";
10459}
10460
10461pub mod term_bm_6_for_all {
10462 pub const VARIABLE_NAME: &str = "computation state";
10464}
10465
10466pub mod term_gl_1_lhs {
10467 pub const LITERAL_VALUE: &str = "σ(T)";
10469}
10470
10471pub mod term_gl_1_rhs {
10472 pub const LITERAL_VALUE: &str = "lower_adjoint(T)";
10474}
10475
10476pub mod term_gl_1_for_all {
10477 pub const VARIABLE_NAME: &str = "type T in type lattice";
10479}
10480
10481pub mod term_gl_2_lhs {
10482 pub const LITERAL_VALUE: &str = "r(T)";
10484}
10485
10486pub mod term_gl_2_rhs {
10487 pub const LITERAL_VALUE: &str = "1 − upper_adjoint(T)";
10489}
10490
10491pub mod term_gl_2_for_all {
10492 pub const VARIABLE_NAME: &str = "type T in type lattice";
10494}
10495
10496pub mod term_gl_3_lhs {
10497 pub const LITERAL_VALUE: &str = "upper(lower(T))";
10499}
10500
10501pub mod term_gl_3_rhs {
10502 pub const LITERAL_VALUE: &str = "T (fixpoint: σ=1, r=0)";
10504}
10505
10506pub mod term_gl_3_for_all {
10507 pub const VARIABLE_NAME: &str = "CompleteType T";
10509}
10510
10511pub mod term_gl_4_lhs {
10512 pub const LITERAL_VALUE: &str = "T₁ ≤ T₂ in type lattice";
10514}
10515
10516pub mod term_gl_4_rhs {
10517 pub const LITERAL_VALUE: &str = "site(T₂) ⊆ site(T₁)";
10519}
10520
10521pub mod term_gl_4_for_all {
10522 pub const VARIABLE_NAME: &str = "types T₁, T₂";
10524}
10525
10526pub mod term_nv_1_lhs {
10527 pub const LITERAL_VALUE: &str = "nerve(C₁ ∪ C₂)";
10529}
10530
10531pub mod term_nv_1_rhs {
10532 pub const LITERAL_VALUE: &str = "nerve(C₁) ∪ nerve(C₂)";
10534}
10535
10536pub mod term_nv_1_for_all {
10537 pub const VARIABLE_NAME: &str = "disjoint constraint domains C₁, C₂";
10539}
10540
10541pub mod term_nv_2_lhs {
10542 pub const LITERAL_VALUE: &str = "β_k(C₁ ∪ C₂)";
10544}
10545
10546pub mod term_nv_2_rhs {
10547 pub const LITERAL_VALUE: &str = "β_k(C₁) + β_k(C₂) − β_k(C₁ ∩ C₂)";
10549}
10550
10551pub mod term_nv_2_for_all {
10552 pub const VARIABLE_NAME: &str = "constraint sets C₁, C₂";
10554}
10555
10556pub mod term_nv_3_lhs {
10557 pub const LITERAL_VALUE: &str = "Δβ_k";
10559}
10560
10561pub mod term_nv_3_rhs {
10562 pub const LITERAL_VALUE: &str = "∈ {−1, 0, +1}";
10564}
10565
10566pub mod term_nv_3_for_all {
10567 pub const VARIABLE_NAME: &str = "single constraint addition, dimension k";
10569}
10570
10571pub mod term_nv_4_lhs {
10572 pub const LITERAL_VALUE: &str = "β_k(C ∪ {c})";
10574}
10575
10576pub mod term_nv_4_rhs {
10577 pub const LITERAL_VALUE: &str = "≤ β_k(C)";
10579}
10580
10581pub mod term_nv_4_for_all {
10582 pub const VARIABLE_NAME: &str = "constraint set C, new constraint c";
10584}
10585
10586pub mod term_sd_1_lhs {
10587 pub const LITERAL_VALUE: &str = "quantize(value, range, bits)";
10589}
10590
10591pub mod term_sd_1_rhs {
10592 pub const LITERAL_VALUE: &str = "ring element with d_R ∝ |v₁ − v₂|";
10594}
10595
10596pub mod term_sd_1_for_all {
10597 pub const VARIABLE_NAME: &str = "values v in ordered domain";
10599}
10600
10601pub mod term_sd_2_lhs {
10602 pub const LITERAL_VALUE: &str = "encoding(alphabet)";
10604}
10605
10606pub mod term_sd_2_rhs {
10607 pub const LITERAL_VALUE: &str = "argmin_{e} Σ d_Δ(e(a), e(b))";
10609}
10610
10611pub mod term_sd_2_for_all {
10612 pub const VARIABLE_NAME: &str = "symbol pairs (a,b) in alphabet";
10614}
10615
10616pub mod term_sd_3_lhs {
10617 pub const LITERAL_VALUE: &str = "Seq(T)";
10619}
10620
10621pub mod term_sd_3_rhs {
10622 pub const LITERAL_VALUE: &str = "Free(T) with backbone ordering";
10624}
10625
10626pub mod term_sd_3_for_all {
10627 pub const VARIABLE_NAME: &str = "element type T";
10629}
10630
10631pub mod term_sd_4_lhs {
10632 pub const LITERAL_VALUE: &str = "sites(Tuple(f₁,...,fₖ))";
10634}
10635
10636pub mod term_sd_4_rhs {
10637 pub const LITERAL_VALUE: &str = "Σᵢ sites(fᵢ)";
10639}
10640
10641pub mod term_sd_4_for_all {
10642 pub const VARIABLE_NAME: &str = "fields f_1,...,f_k of tuple type";
10644}
10645
10646pub mod term_sd_5_lhs {
10647 pub const LITERAL_VALUE: &str = "nerve(Graph(V,E))";
10649}
10650
10651pub mod term_sd_5_rhs {
10652 pub const LITERAL_VALUE: &str = "constraint_nerve(Graph(V,E))";
10654}
10655
10656pub mod term_sd_5_for_all {
10657 pub const VARIABLE_NAME: &str = "graph (V,E) with typed nodes";
10659}
10660
10661pub mod term_sd_6_lhs {
10662 pub const LITERAL_VALUE: &str = "d_Δ(Set(a,b,c))";
10664}
10665
10666pub mod term_sd_6_rhs {
10667 pub const LITERAL_VALUE: &str = "d_Δ(Set(σ(a,b,c)))";
10669}
10670
10671pub mod term_sd_6_for_all {
10672 pub const VARIABLE_NAME: &str = "permutation σ of set elements";
10674}
10675
10676pub mod term_sd_7_lhs {
10677 pub const LITERAL_VALUE: &str = "β_1(Tree(V,E))";
10679}
10680
10681pub mod term_sd_7_rhs {
10682 pub const LITERAL_VALUE: &str = "0";
10684}
10685
10686pub mod term_sd_7_for_all {
10687 pub const VARIABLE_NAME: &str = "tree (V,E) with beta_0=1";
10689}
10690
10691pub mod term_sd_8_lhs {
10692 pub const LITERAL_VALUE: &str = "Table(S)";
10694}
10695
10696pub mod term_sd_8_rhs {
10697 pub const LITERAL_VALUE: &str = "Seq(Tuple(S))";
10699}
10700
10701pub mod term_sd_8_for_all {
10702 pub const VARIABLE_NAME: &str = "schema S defining tuple fields";
10704}
10705
10706pub mod term_dd_1_lhs {
10707 pub const LITERAL_VALUE: &str = "δ(q, R)";
10709}
10710
10711pub mod term_dd_1_rhs {
10712 pub const LITERAL_VALUE: &str = "δ(q, R)";
10714}
10715
10716pub mod term_dd_1_for_all {
10717 pub const VARIABLE_NAME: &str = "query q, registry R";
10719}
10720
10721pub mod term_dd_2_lhs {
10722 pub const LITERAL_VALUE: &str = "dom(R)";
10724}
10725
10726pub mod term_dd_2_rhs {
10727 pub const LITERAL_VALUE: &str = "{q | ∃r. δ(q,R)=r}";
10729}
10730
10731pub mod term_dd_2_for_all {
10732 pub const VARIABLE_NAME: &str = "registry R";
10734}
10735
10736pub mod term_pi_1_lhs {
10737 pub const LITERAL_VALUE: &str = "ι(ι(s,C),C)";
10739}
10740
10741pub mod term_pi_1_rhs {
10742 pub const LITERAL_VALUE: &str = "ι(s,C)";
10744}
10745
10746pub mod term_pi_1_for_all {
10747 pub const VARIABLE_NAME: &str = "symbol s, GroundedContext C";
10749}
10750
10751pub mod term_pi_2_lhs {
10752 pub const LITERAL_VALUE: &str = "type(ι(s,C))";
10754}
10755
10756pub mod term_pi_2_rhs {
10757 pub const LITERAL_VALUE: &str = "consistent(C)";
10759}
10760
10761pub mod term_pi_2_for_all {
10762 pub const VARIABLE_NAME: &str = "symbol s, context C";
10764}
10765
10766pub mod term_pi_3_lhs {
10767 pub const LITERAL_VALUE: &str = "ι(s,C)";
10769}
10770
10771pub mod term_pi_3_rhs {
10772 pub const LITERAL_VALUE: &str = "P(Π(G(s,C)))";
10774}
10775
10776pub mod term_pi_3_for_all {
10777 pub const VARIABLE_NAME: &str = "symbol s, context C";
10779}
10780
10781pub mod term_pi_4_lhs {
10782 pub const LITERAL_VALUE: &str = "complexity(ι(s,C))";
10784}
10785
10786pub mod term_pi_4_rhs {
10787 pub const LITERAL_VALUE: &str = "O(|C|)";
10789}
10790
10791pub mod term_pi_4_for_all {
10792 pub const VARIABLE_NAME: &str = "symbol s, context C";
10794}
10795
10796pub mod term_pi_5_lhs {
10797 pub const LITERAL_VALUE: &str = "roundTrip(P(Π(G(s))))";
10799}
10800
10801pub mod term_pi_5_rhs {
10802 pub const LITERAL_VALUE: &str = "s";
10804}
10805
10806pub mod term_pi_5_for_all {
10807 pub const VARIABLE_NAME: &str = "symbol s";
10809}
10810
10811pub mod term_pa_1_lhs {
10812 pub const LITERAL_VALUE: &str = "α(b₁,α(b₂,C))";
10814}
10815
10816pub mod term_pa_1_rhs {
10817 pub const LITERAL_VALUE: &str = "α(b₂,α(b₁,C))";
10819}
10820
10821pub mod term_pa_1_for_all {
10822 pub const VARIABLE_NAME: &str = "bindings b₁,b₂, context C at saturation";
10824}
10825
10826pub mod term_pa_2_lhs {
10827 pub const LITERAL_VALUE: &str = "sites(α(b,C))";
10829}
10830
10831pub mod term_pa_2_rhs {
10832 pub const LITERAL_VALUE: &str = "sites(C) ∪ {b.site}";
10834}
10835
10836pub mod term_pa_2_for_all {
10837 pub const VARIABLE_NAME: &str = "binding b, context C";
10839}
10840
10841pub mod term_pa_3_lhs {
10842 pub const LITERAL_VALUE: &str = "constraints(α(b,C))";
10844}
10845
10846pub mod term_pa_3_rhs {
10847 pub const LITERAL_VALUE: &str = "constraints(C) ∪ constraints(b)";
10849}
10850
10851pub mod term_pa_3_for_all {
10852 pub const VARIABLE_NAME: &str = "binding b, context C";
10854}
10855
10856pub mod term_pa_4_lhs {
10857 pub const LITERAL_VALUE: &str = "α(b,C)|_{pinned(C)}";
10859}
10860
10861pub mod term_pa_4_rhs {
10862 pub const LITERAL_VALUE: &str = "C|_{pinned(C)}";
10864}
10865
10866pub mod term_pa_4_for_all {
10867 pub const VARIABLE_NAME: &str = "binding b, context C";
10869}
10870
10871pub mod term_pa_5_lhs {
10872 pub const LITERAL_VALUE: &str = "α(∅, C)";
10874}
10875
10876pub mod term_pa_5_rhs {
10877 pub const LITERAL_VALUE: &str = "C";
10879}
10880
10881pub mod term_pa_5_for_all {
10882 pub const VARIABLE_NAME: &str = "context C";
10884}
10885
10886pub mod term_pl_1_lhs {
10887 pub const LITERAL_VALUE: &str = "Lᵢ ∩ Lⱼ";
10889}
10890
10891pub mod term_pl_1_rhs {
10892 pub const LITERAL_VALUE: &str = "∅";
10894}
10895
10896pub mod term_pl_1_for_all {
10897 pub const VARIABLE_NAME: &str = "leases Lᵢ, Lⱼ with i ≠ j";
10899}
10900
10901pub mod term_pl_2_lhs {
10902 pub const LITERAL_VALUE: &str = "⋃ᵢ Lᵢ";
10904}
10905
10906pub mod term_pl_2_rhs {
10907 pub const LITERAL_VALUE: &str = "S";
10909}
10910
10911pub mod term_pl_2_for_all {
10912 pub const VARIABLE_NAME: &str = "shared context S, leases Lᵢ";
10914}
10915
10916pub mod term_pl_3_lhs {
10917 pub const LITERAL_VALUE: &str = "|{i | f ∈ Lᵢ}|";
10919}
10920
10921pub mod term_pl_3_rhs {
10922 pub const LITERAL_VALUE: &str = "1";
10924}
10925
10926pub mod term_pl_3_for_all {
10927 pub const VARIABLE_NAME: &str = "site f in shared context S";
10929}
10930
10931pub mod term_pk_1_lhs {
10932 pub const LITERAL_VALUE: &str = "valid(κ(S₁,S₂))";
10934}
10935
10936pub mod term_pk_1_rhs {
10937 pub const LITERAL_VALUE: &str = "disjoint(S₁,S₂)";
10939}
10940
10941pub mod term_pk_1_for_all {
10942 pub const VARIABLE_NAME: &str = "sessions S₁,S₂";
10944}
10945
10946pub mod term_pk_2_lhs {
10947 pub const LITERAL_VALUE: &str = "resolve(s, κ(S₁,S₂))";
10949}
10950
10951pub mod term_pk_2_rhs {
10952 pub const LITERAL_VALUE: &str = "resolve(s, S₁) ∨ resolve(s, S₂)";
10954}
10955
10956pub mod term_pk_2_for_all {
10957 pub const VARIABLE_NAME: &str = "symbol s, sessions S₁,S₂";
10959}
10960
10961pub mod term_pp_1_lhs {
10962 pub const LITERAL_VALUE: &str = "κ(λₖ(α*(ι(s,·))), C)";
10964}
10965
10966pub mod term_pp_1_rhs {
10967 pub const LITERAL_VALUE: &str = "resolve(s, C)";
10969}
10970
10971pub mod term_pp_1_for_all {
10972 pub const VARIABLE_NAME: &str = "symbol s, context C";
10974}
10975
10976pub mod term_pe_1_lhs {
10977 pub const LITERAL_VALUE: &str = "state(ψ, 0)";
10979}
10980
10981pub mod term_pe_1_rhs {
10982 pub const LITERAL_VALUE: &str = "1";
10984}
10985
10986pub mod term_pe_1_for_all {
10987 pub const VARIABLE_NAME: &str = "reduction ψ";
10989}
10990
10991pub mod term_pe_2_lhs {
10992 pub const LITERAL_VALUE: &str = "ψ_1(q)";
10994}
10995
10996pub mod term_pe_2_rhs {
10997 pub const LITERAL_VALUE: &str = "δ(q, R)";
10999}
11000
11001pub mod term_pe_2_for_all {
11002 pub const VARIABLE_NAME: &str = "query q, registry R";
11004}
11005
11006pub mod term_pe_3_lhs {
11007 pub const LITERAL_VALUE: &str = "ψ_2(r)";
11009}
11010
11011pub mod term_pe_3_rhs {
11012 pub const LITERAL_VALUE: &str = "G(r)";
11014}
11015
11016pub mod term_pe_3_for_all {
11017 pub const VARIABLE_NAME: &str = "resolver r";
11019}
11020
11021pub mod term_pe_4_lhs {
11022 pub const LITERAL_VALUE: &str = "ψ_3(a)";
11024}
11025
11026pub mod term_pe_4_rhs {
11027 pub const LITERAL_VALUE: &str = "Π(a)";
11029}
11030
11031pub mod term_pe_4_for_all {
11032 pub const VARIABLE_NAME: &str = "address a";
11034}
11035
11036pub mod term_pe_5_lhs {
11037 pub const LITERAL_VALUE: &str = "ψ_4(c)";
11039}
11040
11041pub mod term_pe_5_rhs {
11042 pub const LITERAL_VALUE: &str = "α*(c)";
11044}
11045
11046pub mod term_pe_5_for_all {
11047 pub const VARIABLE_NAME: &str = "constraint set c";
11049}
11050
11051pub mod term_pe_6_lhs {
11052 pub const LITERAL_VALUE: &str = "ψ_5(b)";
11054}
11055
11056pub mod term_pe_6_rhs {
11057 pub const LITERAL_VALUE: &str = "P(b)";
11059}
11060
11061pub mod term_pe_6_for_all {
11062 pub const VARIABLE_NAME: &str = "binding b";
11064}
11065
11066pub mod term_pe_7_lhs {
11067 pub const LITERAL_VALUE: &str = "ψ_5 ∘ ψ_4 ∘ ψ_3 ∘ ψ_2 ∘ ψ_1 ∘ ψ_0";
11069}
11070
11071pub mod term_pe_7_rhs {
11072 pub const LITERAL_VALUE: &str = "ψ";
11074}
11075
11076pub mod term_pe_7_for_all {
11077 pub const VARIABLE_NAME: &str = "reduction ψ";
11079}
11080
11081pub mod term_pm_1_lhs {
11082 pub const LITERAL_VALUE: &str = "phase(stage_k)";
11084}
11085
11086pub mod term_pm_1_rhs {
11087 pub const LITERAL_VALUE: &str = "Ω^k";
11089}
11090
11091pub mod term_pm_1_for_all {
11092 pub const VARIABLE_NAME: &str = "stage index k in 0..5";
11094}
11095
11096pub mod term_pm_2_lhs {
11097 pub const LITERAL_VALUE: &str = "gate(k)";
11099}
11100
11101pub mod term_pm_2_rhs {
11102 pub const LITERAL_VALUE: &str = "phase(k) == Ω^k";
11104}
11105
11106pub mod term_pm_2_for_all {
11107 pub const VARIABLE_NAME: &str = "stage boundary k";
11109}
11110
11111pub mod term_pm_3_lhs {
11112 pub const LITERAL_VALUE: &str = "fail(gate(k))";
11114}
11115
11116pub mod term_pm_3_rhs {
11117 pub const LITERAL_VALUE: &str = "rollback(z → z̄)";
11119}
11120
11121pub mod term_pm_3_for_all {
11122 pub const VARIABLE_NAME: &str = "stage k with gate failure";
11124}
11125
11126pub mod term_pm_4_lhs {
11127 pub const LITERAL_VALUE: &str = "conj(conj(z))";
11129}
11130
11131pub mod term_pm_4_rhs {
11132 pub const LITERAL_VALUE: &str = "z";
11134}
11135
11136pub mod term_pm_4_for_all {
11137 pub const VARIABLE_NAME: &str = "complex value z";
11139}
11140
11141pub mod term_pm_5_lhs {
11142 pub const LITERAL_VALUE: &str = "sat(epoch_n)";
11144}
11145
11146pub mod term_pm_5_rhs {
11147 pub const LITERAL_VALUE: &str = "sat(epoch_{n+1})";
11149}
11150
11151pub mod term_pm_5_for_all {
11152 pub const VARIABLE_NAME: &str = "consecutive epochs n, n+1";
11154}
11155
11156pub mod term_pm_6_lhs {
11157 pub const LITERAL_VALUE: &str = "context(window)";
11159}
11160
11161pub mod term_pm_6_rhs {
11162 pub const LITERAL_VALUE: &str = "base_context";
11164}
11165
11166pub mod term_pm_6_for_all {
11167 pub const VARIABLE_NAME: &str = "service window";
11169}
11170
11171pub mod term_pm_7_lhs {
11172 pub const LITERAL_VALUE: &str = "ψ(s₀)";
11174}
11175
11176pub mod term_pm_7_rhs {
11177 pub const LITERAL_VALUE: &str = "ψ(s₀)";
11179}
11180
11181pub mod term_pm_7_for_all {
11182 pub const VARIABLE_NAME: &str = "initial state s₀";
11184}
11185
11186pub mod term_er_1_lhs {
11187 pub const LITERAL_VALUE: &str = "advance(k, k+1)";
11189}
11190
11191pub mod term_er_1_rhs {
11192 pub const LITERAL_VALUE: &str = "guard(k) = true";
11194}
11195
11196pub mod term_er_1_for_all {
11197 pub const VARIABLE_NAME: &str = "stage transition k to k+1";
11199}
11200
11201pub mod term_er_2_lhs {
11202 pub const LITERAL_VALUE: &str = "apply(effect(k))";
11204}
11205
11206pub mod term_er_2_rhs {
11207 pub const LITERAL_VALUE: &str = "atomic(effect(k))";
11209}
11210
11211pub mod term_er_2_for_all {
11212 pub const VARIABLE_NAME: &str = "transition effect at stage k";
11214}
11215
11216pub mod term_er_3_lhs {
11217 pub const LITERAL_VALUE: &str = "eval(guard(k), s)";
11219}
11220
11221pub mod term_er_3_rhs {
11222 pub const LITERAL_VALUE: &str = "s (state unchanged)";
11224}
11225
11226pub mod term_er_3_for_all {
11227 pub const VARIABLE_NAME: &str = "guard evaluation at stage k with state s";
11229}
11230
11231pub mod term_er_4_lhs {
11232 pub const LITERAL_VALUE: &str = "apply(e1; e2)";
11234}
11235
11236pub mod term_er_4_rhs {
11237 pub const LITERAL_VALUE: &str = "apply(e2; e1)";
11239}
11240
11241pub mod term_er_4_for_all {
11242 pub const VARIABLE_NAME: &str = "effects e1, e2 within same stage";
11244}
11245
11246pub mod term_ea_1_lhs {
11247 pub const LITERAL_VALUE: &str = "free(epoch(n+1))";
11249}
11250
11251pub mod term_ea_1_rhs {
11252 pub const LITERAL_VALUE: &str = "free(epoch(0))";
11254}
11255
11256pub mod term_ea_1_for_all {
11257 pub const VARIABLE_NAME: &str = "epoch boundary n to n+1";
11259}
11260
11261pub mod term_ea_2_lhs {
11262 pub const LITERAL_VALUE: &str = "grounded(epoch(n))";
11264}
11265
11266pub mod term_ea_2_rhs {
11267 pub const LITERAL_VALUE: &str = "grounded(epoch(n+1))";
11269}
11270
11271pub mod term_ea_2_for_all {
11272 pub const VARIABLE_NAME: &str = "grounded sites across epoch boundary";
11274}
11275
11276pub mod term_ea_3_lhs {
11277 pub const LITERAL_VALUE: &str = "|context(w)|";
11279}
11280
11281pub mod term_ea_3_rhs {
11282 pub const LITERAL_VALUE: &str = "windowSize(w)";
11284}
11285
11286pub mod term_ea_3_for_all {
11287 pub const VARIABLE_NAME: &str = "service window w";
11289}
11290
11291pub mod term_ea_4_lhs {
11292 pub const LITERAL_VALUE: &str = "admit(epoch(n))";
11294}
11295
11296pub mod term_ea_4_rhs {
11297 pub const LITERAL_VALUE: &str = "datum | refinement";
11299}
11300
11301pub mod term_ea_4_for_all {
11302 pub const VARIABLE_NAME: &str = "epoch admission at epoch n";
11304}
11305
11306pub mod term_oe_1_lhs {
11307 pub const LITERAL_VALUE: &str = "stage(k); stage(k+1)";
11309}
11310
11311pub mod term_oe_1_rhs {
11312 pub const LITERAL_VALUE: &str = "fused(k, k+1)";
11314}
11315
11316pub mod term_oe_1_for_all {
11317 pub const VARIABLE_NAME: &str = "adjacent stages k, k+1 with compatible guards";
11319}
11320
11321pub mod term_oe_2_lhs {
11322 pub const LITERAL_VALUE: &str = "effect(a); effect(b)";
11324}
11325
11326pub mod term_oe_2_rhs {
11327 pub const LITERAL_VALUE: &str = "effect(b); effect(a)";
11329}
11330
11331pub mod term_oe_2_for_all {
11332 pub const VARIABLE_NAME: &str = "independent effects a, b";
11334}
11335
11336pub mod term_oe_3_lhs {
11337 pub const LITERAL_VALUE: &str = "lease(A); lease(B)";
11339}
11340
11341pub mod term_oe_3_rhs {
11342 pub const LITERAL_VALUE: &str = "lease(A) || lease(B)";
11344}
11345
11346pub mod term_oe_3_for_all {
11347 pub const VARIABLE_NAME: &str = "disjoint lease sets A, B";
11349}
11350
11351pub mod term_oe_4a_lhs {
11352 pub const LITERAL_VALUE: &str = "sem(fused(k, k+1))";
11354}
11355
11356pub mod term_oe_4a_rhs {
11357 pub const LITERAL_VALUE: &str = "sem(stage(k)); sem(stage(k+1))";
11359}
11360
11361pub mod term_oe_4a_for_all {
11362 pub const VARIABLE_NAME: &str = "fused stages k, k+1";
11364}
11365
11366pub mod term_oe_4b_lhs {
11367 pub const LITERAL_VALUE: &str = "outcome(a; b)";
11369}
11370
11371pub mod term_oe_4b_rhs {
11372 pub const LITERAL_VALUE: &str = "outcome(b; a)";
11374}
11375
11376pub mod term_oe_4b_for_all {
11377 pub const VARIABLE_NAME: &str = "commuting effects a, b";
11379}
11380
11381pub mod term_oe_4c_lhs {
11382 pub const LITERAL_VALUE: &str = "coverage(A || B)";
11384}
11385
11386pub mod term_oe_4c_rhs {
11387 pub const LITERAL_VALUE: &str = "coverage(A) + coverage(B)";
11389}
11390
11391pub mod term_oe_4c_for_all {
11392 pub const VARIABLE_NAME: &str = "parallel leases A, B";
11394}
11395
11396pub mod term_cs_1_lhs {
11397 pub const LITERAL_VALUE: &str = "cost(stage(k))";
11399}
11400
11401pub mod term_cs_1_rhs {
11402 pub const LITERAL_VALUE: &str = "O(1)";
11404}
11405
11406pub mod term_cs_1_for_all {
11407 pub const VARIABLE_NAME: &str = "reduction step k";
11409}
11410
11411pub mod term_cs_2_lhs {
11412 pub const LITERAL_VALUE: &str = "cost(pipeline)";
11414}
11415
11416pub mod term_cs_2_rhs {
11417 pub const LITERAL_VALUE: &str = "sum(cost(stage(k)))";
11419}
11420
11421pub mod term_cs_2_for_all {
11422 pub const VARIABLE_NAME: &str = "reduction pipeline";
11424}
11425
11426pub mod term_cs_3_lhs {
11427 pub const LITERAL_VALUE: &str = "cost(rollback)";
11429}
11430
11431pub mod term_cs_3_rhs {
11432 pub const LITERAL_VALUE: &str = "cost(forward)";
11434}
11435
11436pub mod term_cs_3_for_all {
11437 pub const VARIABLE_NAME: &str = "reduction rollback operation";
11439}
11440
11441pub mod term_cs_4_lhs {
11442 pub const LITERAL_VALUE: &str = "cost(preflight)";
11444}
11445
11446pub mod term_cs_4_rhs {
11447 pub const LITERAL_VALUE: &str = "O(1)";
11449}
11450
11451pub mod term_cs_4_for_all {
11452 pub const VARIABLE_NAME: &str = "preflight check";
11454}
11455
11456pub mod term_cs_5_lhs {
11457 pub const LITERAL_VALUE: &str = "cost(reduction)";
11459}
11460
11461pub mod term_cs_5_rhs {
11462 pub const LITERAL_VALUE: &str = "n * max(cost(stage(k)))";
11464}
11465
11466pub mod term_cs_5_for_all {
11467 pub const VARIABLE_NAME: &str = "reduction with n stages";
11469}
11470
11471pub mod term_cs_6_lhs {
11472 pub const LITERAL_VALUE: &str = "thermodynamicBudget(U) < bitsWidth(unitWittLevel(U)) × ln 2";
11474}
11475
11476pub mod term_cs_6_rhs {
11477 pub const LITERAL_VALUE: &str = "reject(U) at BudgetSolvencyCheck";
11479}
11480
11481pub mod term_cs_6_for_all {
11482 pub const VARIABLE_NAME: &str = "CompileUnit U";
11484}
11485
11486pub mod term_cs_7_lhs {
11487 pub const LITERAL_VALUE: &str = "unitAddress(U)";
11489}
11490
11491pub mod term_cs_7_rhs {
11492 pub const LITERAL_VALUE: &str = "address(canonicalBytes(transitiveClosure(rootTerm(U))))";
11494}
11495
11496pub mod term_cs_7_for_all {
11497 pub const VARIABLE_NAME: &str = "CompileUnit U";
11499}
11500
11501pub mod term_fa_1_lhs {
11502 pub const LITERAL_VALUE: &str = "pending(q)";
11504}
11505
11506pub mod term_fa_1_rhs {
11507 pub const LITERAL_VALUE: &str = "reaches_gate(q)";
11509}
11510
11511pub mod term_fa_1_for_all {
11512 pub const VARIABLE_NAME: &str = "query q in reduction";
11514}
11515
11516pub mod term_fa_2_lhs {
11517 pub const LITERAL_VALUE: &str = "admitted(q, epoch)";
11519}
11520
11521pub mod term_fa_2_rhs {
11522 pub const LITERAL_VALUE: &str = "served(q, epoch + k)";
11524}
11525
11526pub mod term_fa_2_for_all {
11527 pub const VARIABLE_NAME: &str = "query q, bounded k";
11529}
11530
11531pub mod term_fa_3_lhs {
11532 pub const LITERAL_VALUE: &str = "lease_alloc(p1 + p2)";
11534}
11535
11536pub mod term_fa_3_rhs {
11537 pub const LITERAL_VALUE: &str = "lease_alloc(p1) + lease_alloc(p2)";
11539}
11540
11541pub mod term_fa_3_for_all {
11542 pub const VARIABLE_NAME: &str = "disjoint partitions p1, p2";
11544}
11545
11546pub mod term_sw_1_lhs {
11547 pub const LITERAL_VALUE: &str = "memory(window(w))";
11549}
11550
11551pub mod term_sw_1_rhs {
11552 pub const LITERAL_VALUE: &str = "O(w)";
11554}
11555
11556pub mod term_sw_1_for_all {
11557 pub const VARIABLE_NAME: &str = "service window of size w";
11559}
11560
11561pub mod term_sw_2_lhs {
11562 pub const LITERAL_VALUE: &str = "saturated(slide(w))";
11564}
11565
11566pub mod term_sw_2_rhs {
11567 pub const LITERAL_VALUE: &str = "saturated(w)";
11569}
11570
11571pub mod term_sw_2_for_all {
11572 pub const VARIABLE_NAME: &str = "window slide operation";
11574}
11575
11576pub mod term_sw_3_lhs {
11577 pub const LITERAL_VALUE: &str = "resources(evict(e))";
11579}
11580
11581pub mod term_sw_3_rhs {
11582 pub const LITERAL_VALUE: &str = "0";
11584}
11585
11586pub mod term_sw_3_for_all {
11587 pub const VARIABLE_NAME: &str = "evicted epoch e";
11589}
11590
11591pub mod term_sw_4_lhs {
11592 pub const LITERAL_VALUE: &str = "size(window)";
11594}
11595
11596pub mod term_sw_4_rhs {
11597 pub const LITERAL_VALUE: &str = ">= 1";
11599}
11600
11601pub mod term_sw_4_for_all {
11602 pub const VARIABLE_NAME: &str = "service window";
11604}
11605
11606pub mod term_ls_1_lhs {
11607 pub const LITERAL_VALUE: &str = "pinned(suspend(lease))";
11609}
11610
11611pub mod term_ls_1_rhs {
11612 pub const LITERAL_VALUE: &str = "pinned(lease)";
11614}
11615
11616pub mod term_ls_1_for_all {
11617 pub const VARIABLE_NAME: &str = "lease suspension";
11619}
11620
11621pub mod term_ls_2_lhs {
11622 pub const LITERAL_VALUE: &str = "resources(expire(lease))";
11624}
11625
11626pub mod term_ls_2_rhs {
11627 pub const LITERAL_VALUE: &str = "0";
11629}
11630
11631pub mod term_ls_2_for_all {
11632 pub const VARIABLE_NAME: &str = "expired lease";
11634}
11635
11636pub mod term_ls_3_lhs {
11637 pub const LITERAL_VALUE: &str = "restore(restore(checkpoint))";
11639}
11640
11641pub mod term_ls_3_rhs {
11642 pub const LITERAL_VALUE: &str = "restore(checkpoint)";
11644}
11645
11646pub mod term_ls_3_for_all {
11647 pub const VARIABLE_NAME: &str = "checkpoint restore";
11649}
11650
11651pub mod term_ls_4_lhs {
11652 pub const LITERAL_VALUE: &str = "resume(suspend(lease))";
11654}
11655
11656pub mod term_ls_4_rhs {
11657 pub const LITERAL_VALUE: &str = "lease";
11659}
11660
11661pub mod term_ls_4_for_all {
11662 pub const VARIABLE_NAME: &str = "active lease";
11664}
11665
11666pub mod term_tj_1_lhs {
11667 pub const LITERAL_VALUE: &str = "all_or_nothing(fail)";
11669}
11670
11671pub mod term_tj_1_rhs {
11672 pub const LITERAL_VALUE: &str = "rollback";
11674}
11675
11676pub mod term_tj_1_for_all {
11677 pub const VARIABLE_NAME: &str = "AllOrNothing transaction with failure";
11679}
11680
11681pub mod term_tj_2_lhs {
11682 pub const LITERAL_VALUE: &str = "best_effort(partial_fail)";
11684}
11685
11686pub mod term_tj_2_rhs {
11687 pub const LITERAL_VALUE: &str = "commit(succeeded)";
11689}
11690
11691pub mod term_tj_2_for_all {
11692 pub const VARIABLE_NAME: &str = "BestEffort transaction";
11694}
11695
11696pub mod term_tj_3_lhs {
11697 pub const LITERAL_VALUE: &str = "scope(transaction)";
11699}
11700
11701pub mod term_tj_3_rhs {
11702 pub const LITERAL_VALUE: &str = "single_epoch";
11704}
11705
11706pub mod term_tj_3_for_all {
11707 pub const VARIABLE_NAME: &str = "reduction transaction";
11709}
11710
11711pub mod term_ap_1_lhs {
11712 pub const LITERAL_VALUE: &str = "sat(stage(k+1))";
11714}
11715
11716pub mod term_ap_1_rhs {
11717 pub const LITERAL_VALUE: &str = ">= sat(stage(k))";
11719}
11720
11721pub mod term_ap_1_for_all {
11722 pub const VARIABLE_NAME: &str = "consecutive stages k, k+1";
11724}
11725
11726pub mod term_ap_2_lhs {
11727 pub const LITERAL_VALUE: &str = "quality(epoch(n+1))";
11729}
11730
11731pub mod term_ap_2_rhs {
11732 pub const LITERAL_VALUE: &str = ">= quality(epoch(n))";
11734}
11735
11736pub mod term_ap_2_for_all {
11737 pub const VARIABLE_NAME: &str = "consecutive epochs n, n+1";
11739}
11740
11741pub mod term_ap_3_lhs {
11742 pub const LITERAL_VALUE: &str = "deferred(q)";
11744}
11745
11746pub mod term_ap_3_rhs {
11747 pub const LITERAL_VALUE: &str = "processed(q) | dropped(q)";
11749}
11750
11751pub mod term_ap_3_for_all {
11752 pub const VARIABLE_NAME: &str = "deferred query q";
11754}
11755
11756pub mod term_ec_1_lhs {
11757 pub const LITERAL_VALUE: &str = "Ω⁶";
11759}
11760
11761pub mod term_ec_1_rhs {
11762 pub const LITERAL_VALUE: &str = "−1";
11764}
11765
11766pub mod term_ec_1_for_all {
11767 pub const VARIABLE_NAME: &str = "reduction phase angle Ω = e^{iπ/6}";
11769}
11770
11771pub mod term_ec_2_lhs {
11772 pub const LITERAL_VALUE: &str = "conj(conj(z))";
11774}
11775
11776pub mod term_ec_2_rhs {
11777 pub const LITERAL_VALUE: &str = "z";
11779}
11780
11781pub mod term_ec_2_for_all {
11782 pub const VARIABLE_NAME: &str = "complex z in reduction";
11784}
11785
11786pub mod term_ec_3_lhs {
11787 pub const LITERAL_VALUE: &str = "[q_A, q_B]^inf";
11789}
11790
11791pub mod term_ec_3_rhs {
11792 pub const LITERAL_VALUE: &str = "1";
11794}
11795
11796pub mod term_ec_3_for_all {
11797 pub const VARIABLE_NAME: &str = "quaternion pair q_A, q_B";
11799}
11800
11801pub mod term_ec_4_lhs {
11802 pub const LITERAL_VALUE: &str = "[q_A, q_B, q_C]^inf";
11804}
11805
11806pub mod term_ec_4_rhs {
11807 pub const LITERAL_VALUE: &str = "0";
11809}
11810
11811pub mod term_ec_4_for_all {
11812 pub const VARIABLE_NAME: &str = "octonion triple q_A, q_B, q_C";
11814}
11815
11816pub mod term_ec_4a_lhs {
11817 pub const LITERAL_VALUE: &str = "||[a,b,c]_{n+1}||";
11819}
11820
11821pub mod term_ec_4a_rhs {
11822 pub const LITERAL_VALUE: &str = "<= ||[a,b,c]_n||";
11824}
11825
11826pub mod term_ec_4a_for_all {
11827 pub const VARIABLE_NAME: &str = "successive associator iterates";
11829}
11830
11831pub mod term_ec_4b_lhs {
11832 pub const LITERAL_VALUE: &str = "steps_to_zero([a,b,c])";
11834}
11835
11836pub mod term_ec_4b_rhs {
11837 pub const LITERAL_VALUE: &str = "<= |three_way_sites|";
11839}
11840
11841pub mod term_ec_4b_for_all {
11842 pub const VARIABLE_NAME: &str = "octonion triple a, b, c";
11844}
11845
11846pub mod term_ec_4c_lhs {
11847 pub const LITERAL_VALUE: &str = "[a,b,c] = 0";
11849}
11850
11851pub mod term_ec_4c_rhs {
11852 pub const LITERAL_VALUE: &str = "associative(resolved_site_space)";
11854}
11855
11856pub mod term_ec_4c_for_all {
11857 pub const VARIABLE_NAME: &str = "resolved site space";
11859}
11860
11861pub mod term_ec_5_lhs {
11862 pub const LITERAL_VALUE: &str = "max_level(convergence_tower)";
11864}
11865
11866pub mod term_ec_5_rhs {
11867 pub const LITERAL_VALUE: &str = "L3_Self";
11869}
11870
11871pub mod term_ec_5_for_all {
11872 pub const VARIABLE_NAME: &str = "convergence tower";
11874}
11875
11876pub mod term_da_1_lhs {
11877 pub const LITERAL_VALUE: &str = "CD(R, i)";
11879}
11880
11881pub mod term_da_1_rhs {
11882 pub const LITERAL_VALUE: &str = "C";
11884}
11885
11886pub mod term_da_1_for_all {
11887 pub const VARIABLE_NAME: &str = "Cayley-Dickson doubling";
11889}
11890
11891pub mod term_da_2_lhs {
11892 pub const LITERAL_VALUE: &str = "CD(C, j)";
11894}
11895
11896pub mod term_da_2_rhs {
11897 pub const LITERAL_VALUE: &str = "H";
11899}
11900
11901pub mod term_da_2_for_all {
11902 pub const VARIABLE_NAME: &str = "Cayley-Dickson doubling";
11904}
11905
11906pub mod term_da_3_lhs {
11907 pub const LITERAL_VALUE: &str = "CD(H, l)";
11909}
11910
11911pub mod term_da_3_rhs {
11912 pub const LITERAL_VALUE: &str = "O";
11914}
11915
11916pub mod term_da_3_for_all {
11917 pub const VARIABLE_NAME: &str = "Cayley-Dickson doubling";
11919}
11920
11921pub mod term_da_4_lhs {
11922 pub const LITERAL_VALUE: &str = "dim(normed_div_alg)";
11924}
11925
11926pub mod term_da_4_rhs {
11927 pub const LITERAL_VALUE: &str = "∈ {1, 2, 4, 8}";
11929}
11930
11931pub mod term_da_4_for_all {
11932 pub const VARIABLE_NAME: &str = "normed division algebras over R";
11934}
11935
11936pub mod term_da_5_lhs {
11937 pub const LITERAL_VALUE: &str = "algebra(L_k)";
11939}
11940
11941pub mod term_da_5_rhs {
11942 pub const LITERAL_VALUE: &str = "division_algebra[k]";
11944}
11945
11946pub mod term_da_5_for_all {
11947 pub const VARIABLE_NAME: &str = "convergence level L_k";
11949}
11950
11951pub mod term_da_6_lhs {
11952 pub const LITERAL_VALUE: &str = "[a,b] = 0";
11954}
11955
11956pub mod term_da_6_rhs {
11957 pub const LITERAL_VALUE: &str = "isCommutative(algebra(L_k))";
11959}
11960
11961pub mod term_da_6_for_all {
11962 pub const VARIABLE_NAME: &str = "elements a, b in division algebra at level k";
11964}
11965
11966pub mod term_da_7_lhs {
11967 pub const LITERAL_VALUE: &str = "[a,b,c] = 0";
11969}
11970
11971pub mod term_da_7_rhs {
11972 pub const LITERAL_VALUE: &str = "isAssociative(algebra(L_k))";
11974}
11975
11976pub mod term_da_7_for_all {
11977 pub const VARIABLE_NAME: &str = "elements a, b, c in division algebra at level k";
11979}
11980
11981pub mod term_in_1_lhs {
11982 pub const LITERAL_VALUE: &str = "d_Δ(A,B)";
11984}
11985
11986pub mod term_in_1_rhs {
11987 pub const LITERAL_VALUE: &str = "interaction_cost(A,B)";
11989}
11990
11991pub mod term_in_1_for_all {
11992 pub const VARIABLE_NAME: &str = "entity pairs A, B";
11994}
11995
11996pub mod term_in_2_lhs {
11997 pub const LITERAL_VALUE: &str = "disjoint_leases(A,B)";
11999}
12000
12001pub mod term_in_2_rhs {
12002 pub const LITERAL_VALUE: &str = "commutator(A,B) = 0";
12004}
12005
12006pub mod term_in_2_for_all {
12007 pub const VARIABLE_NAME: &str = "entity pairs with disjoint leases";
12009}
12010
12011pub mod term_in_3_lhs {
12012 pub const LITERAL_VALUE: &str = "shared_sites(A,B) ≠ ∅";
12014}
12015
12016pub mod term_in_3_rhs {
12017 pub const LITERAL_VALUE: &str = "commutator(A,B) > 0";
12019}
12020
12021pub mod term_in_3_for_all {
12022 pub const VARIABLE_NAME: &str = "entity pairs with shared sites";
12024}
12025
12026pub mod term_in_4_lhs {
12027 pub const LITERAL_VALUE: &str = "SR_8_session(A,B)";
12029}
12030
12031pub mod term_in_4_rhs {
12032 pub const LITERAL_VALUE: &str = "commutator(A,B,t+1) ≤ commutator(A,B,t)";
12034}
12035
12036pub mod term_in_4_for_all {
12037 pub const VARIABLE_NAME: &str = "entity pairs in session";
12039}
12040
12041pub mod term_in_5_lhs {
12042 pub const LITERAL_VALUE: &str = "converged_negotiation(A,B)";
12044}
12045
12046pub mod term_in_5_rhs {
12047 pub const LITERAL_VALUE: &str = "U(1) ⊂ SU(2)";
12049}
12050
12051pub mod term_in_5_for_all {
12052 pub const VARIABLE_NAME: &str = "converged pairwise interactions";
12054}
12055
12056pub mod term_in_6_lhs {
12057 pub const LITERAL_VALUE: &str = "outcome_space(pairwise_negotiation)";
12059}
12060
12061pub mod term_in_6_rhs {
12062 pub const LITERAL_VALUE: &str = "S²";
12064}
12065
12066pub mod term_in_6_for_all {
12067 pub const VARIABLE_NAME: &str = "pairwise negotiations";
12069}
12070
12071pub mod term_in_7_lhs {
12072 pub const LITERAL_VALUE: &str = "converged_mutual_model(A,B,C)";
12074}
12075
12076pub mod term_in_7_rhs {
12077 pub const LITERAL_VALUE: &str = "H ⊂ O";
12079}
12080
12081pub mod term_in_7_for_all {
12082 pub const VARIABLE_NAME: &str = "converged triple interactions";
12084}
12085
12086pub mod term_in_8_lhs {
12087 pub const LITERAL_VALUE: &str = "β_k(interaction_nerve)";
12089}
12090
12091pub mod term_in_8_rhs {
12092 pub const LITERAL_VALUE: &str = "coupling_complexity(k)";
12094}
12095
12096pub mod term_in_8_for_all {
12097 pub const VARIABLE_NAME: &str = "interaction nerve at dimension k";
12099}
12100
12101pub mod term_in_9_lhs {
12102 pub const LITERAL_VALUE: &str = "β_2(nerve) × max_disagreement";
12104}
12105
12106pub mod term_in_9_rhs {
12107 pub const LITERAL_VALUE: &str = "upper_bound(associator_norm)";
12109}
12110
12111pub mod term_in_9_for_all {
12112 pub const VARIABLE_NAME: &str = "interaction nerves with β_2 > 0";
12114}
12115
12116pub mod term_as_1_lhs {
12117 pub const LITERAL_VALUE: &str = "(δ ∘ ι) ∘ κ";
12119}
12120
12121pub mod term_as_1_rhs {
12122 pub const LITERAL_VALUE: &str = "δ ∘ (ι ∘ κ)";
12124}
12125
12126pub mod term_as_1_for_all {
12127 pub const VARIABLE_NAME: &str = "triple δ, ι, κ with shared registry";
12129}
12130
12131pub mod term_as_2_lhs {
12132 pub const LITERAL_VALUE: &str = "(ι ∘ α) ∘ λ";
12134}
12135
12136pub mod term_as_2_rhs {
12137 pub const LITERAL_VALUE: &str = "ι ∘ (α ∘ λ)";
12139}
12140
12141pub mod term_as_2_for_all {
12142 pub const VARIABLE_NAME: &str = "triple ι, α, λ with shared lease";
12144}
12145
12146pub mod term_as_3_lhs {
12147 pub const LITERAL_VALUE: &str = "(λ ∘ κ) ∘ δ";
12149}
12150
12151pub mod term_as_3_rhs {
12152 pub const LITERAL_VALUE: &str = "λ ∘ (κ ∘ δ)";
12154}
12155
12156pub mod term_as_3_for_all {
12157 pub const VARIABLE_NAME: &str = "triple λ, κ, δ with shared state";
12159}
12160
12161pub mod term_as_4_lhs {
12162 pub const LITERAL_VALUE: &str = "associator(A,B,C) ≠ 0";
12164}
12165
12166pub mod term_as_4_rhs {
12167 pub const LITERAL_VALUE: &str = "∃ mediating read-write interleaving";
12169}
12170
12171pub mod term_as_4_for_all {
12172 pub const VARIABLE_NAME: &str = "triples with non-zero associator";
12174}
12175
12176pub mod term_mo_1_lhs {
12177 pub const LITERAL_VALUE: &str = "I ⊗ A";
12179}
12180
12181pub mod term_mo_1_rhs {
12182 pub const LITERAL_VALUE: &str = "A";
12184}
12185
12186pub mod term_mo_1_for_all {
12187 pub const VARIABLE_NAME: &str = "computations A";
12189}
12190
12191pub mod term_mo_2_lhs {
12192 pub const LITERAL_VALUE: &str = "(A⊗B)⊗C";
12194}
12195
12196pub mod term_mo_2_rhs {
12197 pub const LITERAL_VALUE: &str = "A⊗(B⊗C)";
12199}
12200
12201pub mod term_mo_2_for_all {
12202 pub const VARIABLE_NAME: &str = "computations A, B, C";
12204}
12205
12206pub mod term_mo_3_lhs {
12207 pub const LITERAL_VALUE: &str = "cert(A⊗B)";
12209}
12210
12211pub mod term_mo_3_rhs {
12212 pub const LITERAL_VALUE: &str = "cert(A) ∧ cert(B)";
12214}
12215
12216pub mod term_mo_3_for_all {
12217 pub const VARIABLE_NAME: &str = "certified computations A, B";
12219}
12220
12221pub mod term_mo_4_lhs {
12222 pub const LITERAL_VALUE: &str = "σ(A⊗B)";
12224}
12225
12226pub mod term_mo_4_rhs {
12227 pub const LITERAL_VALUE: &str = "max(σ(A), σ(B))";
12229}
12230
12231pub mod term_mo_4_for_all {
12232 pub const VARIABLE_NAME: &str = "computations A, B";
12234}
12235
12236pub mod term_mo_5_lhs {
12237 pub const LITERAL_VALUE: &str = "r(A⊗B)";
12239}
12240
12241pub mod term_mo_5_rhs {
12242 pub const LITERAL_VALUE: &str = "min(r(A), r(B))";
12244}
12245
12246pub mod term_mo_5_for_all {
12247 pub const VARIABLE_NAME: &str = "computations A, B";
12249}
12250
12251pub mod term_op_1_lhs {
12252 pub const LITERAL_VALUE: &str = "siteCount(F(G))";
12254}
12255
12256pub mod term_op_1_rhs {
12257 pub const LITERAL_VALUE: &str = "F.sites + Σ_i G_i.sites";
12259}
12260
12261pub mod term_op_1_for_all {
12262 pub const VARIABLE_NAME: &str = "structural types F, G";
12264}
12265
12266pub mod term_op_2_lhs {
12267 pub const LITERAL_VALUE: &str = "grounding(F(G(x)))";
12269}
12270
12271pub mod term_op_2_rhs {
12272 pub const LITERAL_VALUE: &str = "F.ground(G.ground(x))";
12274}
12275
12276pub mod term_op_2_for_all {
12277 pub const VARIABLE_NAME: &str = "structural types F, G, element x";
12279}
12280
12281pub mod term_op_3_lhs {
12282 pub const LITERAL_VALUE: &str = "d_Δ(F(G))";
12284}
12285
12286pub mod term_op_3_rhs {
12287 pub const LITERAL_VALUE: &str = "d_Δ(F) ∘ G + F ∘ d_Δ(G)";
12289}
12290
12291pub mod term_op_3_for_all {
12292 pub const VARIABLE_NAME: &str = "structural types F, G";
12294}
12295
12296pub mod term_op_4_lhs {
12297 pub const LITERAL_VALUE: &str = "Table(Tuple(fields))";
12299}
12300
12301pub mod term_op_4_rhs {
12302 pub const LITERAL_VALUE: &str = "Sequence(Tuple(fields))";
12304}
12305
12306pub mod term_op_4_for_all {
12307 pub const VARIABLE_NAME: &str = "tabular data";
12309}
12310
12311pub mod term_op_5_lhs {
12312 pub const LITERAL_VALUE: &str = "Tree(Symbol(leaves))";
12314}
12315
12316pub mod term_op_5_rhs {
12317 pub const LITERAL_VALUE: &str = "Graph(Symbol(leaves), acyclic)";
12319}
12320
12321pub mod term_op_5_for_all {
12322 pub const VARIABLE_NAME: &str = "hierarchical data";
12324}
12325
12326pub mod term_fx_1_lhs {
12327 pub const LITERAL_VALUE: &str = "freeRank(postContext(e))";
12329}
12330
12331pub mod term_fx_1_rhs {
12332 pub const LITERAL_VALUE: &str = "freeRank(preContext(e)) − 1";
12334}
12335
12336pub mod term_fx_1_for_all {
12337 pub const VARIABLE_NAME: &str = "PinningEffect e";
12339}
12340
12341pub mod term_fx_2_lhs {
12342 pub const LITERAL_VALUE: &str = "freeRank(postContext(e))";
12344}
12345
12346pub mod term_fx_2_rhs {
12347 pub const LITERAL_VALUE: &str = "freeRank(preContext(e)) + 1";
12349}
12350
12351pub mod term_fx_2_for_all {
12352 pub const VARIABLE_NAME: &str = "UnbindingEffect e";
12354}
12355
12356pub mod term_fx_3_lhs {
12357 pub const LITERAL_VALUE: &str = "freeRank(postContext(e))";
12359}
12360
12361pub mod term_fx_3_rhs {
12362 pub const LITERAL_VALUE: &str = "freeRank(preContext(e))";
12364}
12365
12366pub mod term_fx_3_for_all {
12367 pub const VARIABLE_NAME: &str = "PhaseEffect e";
12369}
12370
12371pub mod term_fx_4_lhs {
12372 pub const LITERAL_VALUE: &str = "apply(A ; B, ctx)";
12374}
12375
12376pub mod term_fx_4_rhs {
12377 pub const LITERAL_VALUE: &str = "apply(B ; A, ctx)";
12379}
12380
12381pub mod term_fx_4_for_all {
12382 pub const VARIABLE_NAME: &str = "Effects A, B with DisjointnessWitness(target(A), target(B))";
12384}
12385
12386pub mod term_fx_5_lhs {
12387 pub const LITERAL_VALUE: &str = "freeRankDelta(E₁ ; E₂)";
12389}
12390
12391pub mod term_fx_5_rhs {
12392 pub const LITERAL_VALUE: &str = "freeRankDelta(E₁) + freeRankDelta(E₂)";
12394}
12395
12396pub mod term_fx_5_for_all {
12397 pub const VARIABLE_NAME: &str = "CompositeEffect (E₁ ; E₂)";
12399}
12400
12401pub mod term_fx_6_lhs {
12402 pub const LITERAL_VALUE: &str = "apply(e, apply(e⁻¹, ctx))";
12404}
12405
12406pub mod term_fx_6_rhs {
12407 pub const LITERAL_VALUE: &str = "ctx";
12409}
12410
12411pub mod term_fx_6_for_all {
12412 pub const VARIABLE_NAME: &str = "ReversibleEffect e";
12414}
12415
12416pub mod term_fx_7_lhs {
12417 pub const LITERAL_VALUE: &str = "freeRankDelta(e)";
12419}
12420
12421pub mod term_fx_7_rhs {
12422 pub const LITERAL_VALUE: &str = "declared freeRankDelta in EffectShape";
12424}
12425
12426pub mod term_fx_7_for_all {
12427 pub const VARIABLE_NAME: &str = "ExternalEffect e satisfying conformance:EffectShape";
12429}
12430
12431pub mod term_pr_1_lhs {
12432 pub const LITERAL_VALUE: &str = "eval(p, x)";
12434}
12435
12436pub mod term_pr_1_rhs {
12437 pub const LITERAL_VALUE: &str = "∈ {true, false}";
12439}
12440
12441pub mod term_pr_1_for_all {
12442 pub const VARIABLE_NAME: &str = "Predicate p, input x";
12444}
12445
12446pub mod term_pr_2_lhs {
12447 pub const LITERAL_VALUE: &str = "state(eval(p, x, s))";
12449}
12450
12451pub mod term_pr_2_rhs {
12452 pub const LITERAL_VALUE: &str = "s";
12454}
12455
12456pub mod term_pr_2_for_all {
12457 pub const VARIABLE_NAME: &str = "Predicate p, input x, state s";
12459}
12460
12461pub mod term_pr_3_lhs {
12462 pub const LITERAL_VALUE: &str = "dispatch(D, x)";
12464}
12465
12466pub mod term_pr_3_rhs {
12467 pub const LITERAL_VALUE: &str = "exactly one DispatchRule";
12469}
12470
12471pub mod term_pr_3_for_all {
12472 pub const VARIABLE_NAME: &str =
12474 "DispatchTable D with isExhaustive=true, isMutuallyExclusive=true";
12475}
12476
12477pub mod term_pr_4_lhs {
12478 pub const LITERAL_VALUE: &str = "eval(M)";
12480}
12481
12482pub mod term_pr_4_rhs {
12483 pub const LITERAL_VALUE: &str = "armResult(first matching arm)";
12485}
12486
12487pub mod term_pr_4_for_all {
12488 pub const VARIABLE_NAME: &str = "MatchExpression M with exhaustive arms";
12490}
12491
12492pub mod term_pr_5_lhs {
12493 pub const LITERAL_VALUE: &str = "advance(k, guardTarget(g))";
12495}
12496
12497pub mod term_pr_5_rhs {
12498 pub const LITERAL_VALUE: &str = "requires guardPredicate(g) = true";
12500}
12501
12502pub mod term_pr_5_for_all {
12503 pub const VARIABLE_NAME: &str = "GuardedTransition g at reduction step k";
12505}
12506
12507pub mod term_cg_1_lhs {
12508 pub const LITERAL_VALUE: &str = "advance_to(s)";
12510}
12511
12512pub mod term_cg_1_rhs {
12513 pub const LITERAL_VALUE: &str = "requires eval(g, currentState) = true";
12515}
12516
12517pub mod term_cg_1_for_all {
12518 pub const VARIABLE_NAME: &str = "ReductionStep s with entryGuard g";
12520}
12521
12522pub mod term_cg_2_lhs {
12523 pub const LITERAL_VALUE: &str = "advance_from(s)";
12525}
12526
12527pub mod term_cg_2_rhs {
12528 pub const LITERAL_VALUE: &str = "requires eval(g, currentState) = true, then apply(e)";
12530}
12531
12532pub mod term_cg_2_for_all {
12533 pub const VARIABLE_NAME: &str = "ReductionStep s with exitGuard g and stageEffect e";
12535}
12536
12537pub mod term_dis_1_lhs {
12538 pub const LITERAL_VALUE: &str = "isExhaustive(D) ∧ isMutuallyExclusive(D)";
12540}
12541
12542pub mod term_dis_1_rhs {
12543 pub const LITERAL_VALUE: &str = "true";
12545}
12546
12547pub mod term_dis_1_for_all {
12548 pub const VARIABLE_NAME: &str = "Root DispatchTable D";
12550}
12551
12552pub mod term_dis_2_lhs {
12553 pub const LITERAL_VALUE: &str = "dispatch(D, T)";
12555}
12556
12557pub mod term_dis_2_rhs {
12558 pub const LITERAL_VALUE: &str = "exactly one Resolver";
12560}
12561
12562pub mod term_dis_2_for_all {
12563 pub const VARIABLE_NAME: &str = "TypeDefinition T, DispatchTable D";
12565}
12566
12567pub mod term_par_1_lhs {
12568 pub const LITERAL_VALUE: &str = "apply(A ⊗ B, ctx)";
12570}
12571
12572pub mod term_par_1_rhs {
12573 pub const LITERAL_VALUE: &str = "apply(B ⊗ A, ctx)";
12575}
12576
12577pub mod term_par_1_for_all {
12578 pub const VARIABLE_NAME: &str = "ParallelProduct A ∥ B with DisjointnessCertificate";
12580}
12581
12582pub mod term_par_2_lhs {
12583 pub const LITERAL_VALUE: &str = "freeRankDelta(A ∥ B)";
12585}
12586
12587pub mod term_par_2_rhs {
12588 pub const LITERAL_VALUE: &str = "freeRankDelta(A) + freeRankDelta(B)";
12590}
12591
12592pub mod term_par_2_for_all {
12593 pub const VARIABLE_NAME: &str = "ParallelProduct A ∥ B";
12595}
12596
12597pub mod term_par_3_lhs {
12598 pub const LITERAL_VALUE: &str = "Σ |component_i|";
12600}
12601
12602pub mod term_par_3_rhs {
12603 pub const LITERAL_VALUE: &str = "n";
12605}
12606
12607pub mod term_par_3_for_all {
12608 pub const VARIABLE_NAME: &str = "SitePartitioning P over n sites";
12610}
12611
12612pub mod term_par_4_lhs {
12613 pub const LITERAL_VALUE: &str = "finalContext(σ(A, B))";
12615}
12616
12617pub mod term_par_4_rhs {
12618 pub const LITERAL_VALUE: &str = "finalContext(A ⊗ B)";
12620}
12621
12622pub mod term_par_4_for_all {
12623 pub const VARIABLE_NAME: &str = "ParallelProduct A ∥ B, any interleaving σ";
12625}
12626
12627pub mod term_par_5_lhs {
12628 pub const LITERAL_VALUE: &str = "cert(A ∥ B)";
12630}
12631
12632pub mod term_par_5_rhs {
12633 pub const LITERAL_VALUE: &str = "cert(A) ∧ cert(B) ∧ DisjointnessCertificate(A, B)";
12635}
12636
12637pub mod term_par_5_for_all {
12638 pub const VARIABLE_NAME: &str = "cert(A ∥ B)";
12640}
12641
12642pub mod term_ho_1_lhs {
12643 pub const LITERAL_VALUE: &str = "value(c)";
12645}
12646
12647pub mod term_ho_1_rhs {
12648 pub const LITERAL_VALUE: &str = "contentHash(referencedCertificate(c))";
12650}
12651
12652pub mod term_ho_1_for_all {
12653 pub const VARIABLE_NAME: &str = "ComputationDatum c";
12655}
12656
12657pub mod term_ho_2_lhs {
12658 pub const LITERAL_VALUE: &str = "cert(output(app))";
12660}
12661
12662pub mod term_ho_2_rhs {
12663 pub const LITERAL_VALUE: &str = "cert(applicationTarget(app))";
12665}
12666
12667pub mod term_ho_2_for_all {
12668 pub const VARIABLE_NAME: &str = "ApplicationMorphism app";
12670}
12671
12672pub mod term_ho_3_lhs {
12673 pub const LITERAL_VALUE: &str = "cert(f ∘ g)";
12675}
12676
12677pub mod term_ho_3_rhs {
12678 pub const LITERAL_VALUE: &str = "cert(f) ∧ cert(g) ∧ range(g) = domain(f)";
12680}
12681
12682pub mod term_ho_3_for_all {
12683 pub const VARIABLE_NAME: &str = "TransformComposition f ∘ g";
12685}
12686
12687pub mod term_ho_4_lhs {
12688 pub const LITERAL_VALUE: &str = "p";
12690}
12691
12692pub mod term_ho_4_rhs {
12693 pub const LITERAL_VALUE: &str = "ApplicationMorphism(partialBase(p), boundArguments(p))";
12695}
12696
12697pub mod term_ho_4_for_all {
12698 pub const VARIABLE_NAME: &str = "PartialApplication p with remainingArity = 0";
12700}
12701
12702pub mod term_str_1_lhs {
12703 pub const LITERAL_VALUE: &str = "reduction(e_k) converges to π";
12705}
12706
12707pub mod term_str_1_rhs {
12708 pub const LITERAL_VALUE: &str = "true";
12710}
12711
12712pub mod term_str_1_for_all {
12713 pub const VARIABLE_NAME: &str = "Epoch e_k in ProductiveStream";
12715}
12716
12717pub mod term_str_2_lhs {
12718 pub const LITERAL_VALUE: &str = "saturation(continuationContext(b))";
12720}
12721
12722pub mod term_str_2_rhs {
12723 pub const LITERAL_VALUE: &str = "saturation(postContext(e_k))";
12725}
12726
12727pub mod term_str_2_for_all {
12728 pub const VARIABLE_NAME: &str = "EpochBoundary b between e_k and e_{k+1}";
12730}
12731
12732pub mod term_str_3_lhs {
12733 pub const LITERAL_VALUE: &str = "computationTime(P)";
12735}
12736
12737pub mod term_str_3_rhs {
12738 pub const LITERAL_VALUE: &str = "Σ_{i=0}^{k−1} computationTime(epoch_i)";
12740}
12741
12742pub mod term_str_3_for_all {
12743 pub const VARIABLE_NAME: &str = "StreamPrefix P of length k";
12745}
12746
12747pub mod term_str_4_lhs {
12748 pub const LITERAL_VALUE: &str = "epoch_0.context";
12750}
12751
12752pub mod term_str_4_rhs {
12753 pub const LITERAL_VALUE: &str = "seed";
12755}
12756
12757pub mod term_str_4_for_all {
12758 pub const VARIABLE_NAME: &str = "Unfold(seed, step)";
12760}
12761
12762pub mod term_str_5_lhs {
12763 pub const LITERAL_VALUE: &str = "epoch_{k+1}.context";
12765}
12766
12767pub mod term_str_5_rhs {
12768 pub const LITERAL_VALUE: &str = "continuationContext(boundary(e_k))";
12770}
12771
12772pub mod term_str_5_for_all {
12773 pub const VARIABLE_NAME: &str = "Unfold(seed, step), epoch e_k";
12775}
12776
12777pub mod term_str_6_lhs {
12778 pub const LITERAL_VALUE: &str = "linearBudget(epoch_{k+1})";
12780}
12781
12782pub mod term_str_6_rhs {
12783 pub const LITERAL_VALUE: &str = "linearBudget(epoch_k) + leaseCardinality(L)";
12785}
12786
12787pub mod term_str_6_for_all {
12788 pub const VARIABLE_NAME: &str = "EpochBoundary b with LeaseAllocation L expiring at b";
12790}
12791
12792pub mod term_flr_1_lhs {
12793 pub const LITERAL_VALUE: &str = "result(P)";
12795}
12796
12797pub mod term_flr_1_rhs {
12798 pub const LITERAL_VALUE: &str = "∈ {Success, Failure}";
12800}
12801
12802pub mod term_flr_1_for_all {
12803 pub const VARIABLE_NAME: &str = "PartialComputation P";
12805}
12806
12807pub mod term_flr_2_lhs {
12808 pub const LITERAL_VALUE: &str = "result(T)";
12810}
12811
12812pub mod term_flr_2_rhs {
12813 pub const LITERAL_VALUE: &str = "Success";
12815}
12816
12817pub mod term_flr_2_for_all {
12818 pub const VARIABLE_NAME: &str = "TotalComputation T";
12820}
12821
12822pub mod term_flr_3_lhs {
12823 pub const LITERAL_VALUE: &str = "result(A ⊗ B)";
12825}
12826
12827pub mod term_flr_3_rhs {
12828 pub const LITERAL_VALUE: &str = "Failure(A)";
12830}
12831
12832pub mod term_flr_3_for_all {
12833 pub const VARIABLE_NAME: &str = "A ⊗ B where result(A) = Failure";
12835}
12836
12837pub mod term_flr_4_lhs {
12838 pub const LITERAL_VALUE: &str = "result(A ∥ B)";
12840}
12841
12842pub mod term_flr_4_rhs {
12843 pub const LITERAL_VALUE: &str = "Failure(A) (left component)";
12845}
12846
12847pub mod term_flr_4_for_all {
12848 pub const VARIABLE_NAME: &str = "A ∥ B where result(A) = Failure, result(B) = Success";
12850}
12851
12852pub mod term_flr_5_lhs {
12853 pub const LITERAL_VALUE: &str = "result(apply(recoveryEffect(r), failureState(f)))";
12855}
12856
12857pub mod term_flr_5_rhs {
12858 pub const LITERAL_VALUE: &str = "ComputationResult";
12860}
12861
12862pub mod term_flr_5_for_all {
12863 pub const VARIABLE_NAME: &str = "Recovery r on Failure f";
12865}
12866
12867pub mod term_flr_6_lhs {
12868 pub const LITERAL_VALUE: &str = "recoveryEffect(rollback(f))";
12870}
12871
12872pub mod term_flr_6_rhs {
12873 pub const LITERAL_VALUE: &str = "PhaseEffect(conjugate)";
12875}
12876
12877pub mod term_flr_6_for_all {
12878 pub const VARIABLE_NAME: &str = "ComplexConjugateRollback on Failure f";
12880}
12881
12882pub mod term_ln_1_lhs {
12883 pub const LITERAL_VALUE: &str = "Σ targetCount(site_i)";
12885}
12886
12887pub mod term_ln_1_rhs {
12888 pub const LITERAL_VALUE: &str = "n";
12890}
12891
12892pub mod term_ln_1_for_all {
12893 pub const VARIABLE_NAME: &str = "LinearTrace T over n-bit type";
12895}
12896
12897pub mod term_ln_2_lhs {
12898 pub const LITERAL_VALUE: &str = "status(f, postContext(e))";
12900}
12901
12902pub mod term_ln_2_rhs {
12903 pub const LITERAL_VALUE: &str = "pinned";
12905}
12906
12907pub mod term_ln_2_for_all {
12908 pub const VARIABLE_NAME: &str = "LinearEffect e on site f";
12910}
12911
12912pub mod term_ln_3_lhs {
12913 pub const LITERAL_VALUE: &str = "target(e′) = f";
12915}
12916
12917pub mod term_ln_3_rhs {
12918 pub const LITERAL_VALUE: &str = "forbidden";
12920}
12921
12922pub mod term_ln_3_for_all {
12923 pub const VARIABLE_NAME: &str = "LinearEffect e on site f, any subsequent effect e′";
12925}
12926
12927pub mod term_ln_4_lhs {
12928 pub const LITERAL_VALUE: &str = "remainingCount(budget after L)";
12930}
12931
12932pub mod term_ln_4_rhs {
12933 pub const LITERAL_VALUE: &str = "remainingCount(budget before L) − k";
12935}
12936
12937pub mod term_ln_4_for_all {
12938 pub const VARIABLE_NAME: &str = "LeaseAllocation L with leaseCardinality k";
12940}
12941
12942pub mod term_ln_5_lhs {
12943 pub const LITERAL_VALUE: &str = "remainingCount(budget after expiry)";
12945}
12946
12947pub mod term_ln_5_rhs {
12948 pub const LITERAL_VALUE: &str = "remainingCount(budget before expiry) + leaseCardinality(L)";
12950}
12951
12952pub mod term_ln_5_for_all {
12953 pub const VARIABLE_NAME: &str = "Lease expiry on LeaseAllocation L";
12955}
12956
12957pub mod term_ln_6_lhs {
12958 pub const LITERAL_VALUE: &str = "G";
12960}
12961
12962pub mod term_ln_6_rhs {
12963 pub const LITERAL_VALUE: &str = "LinearTrace";
12965}
12966
12967pub mod term_ln_6_for_all {
12968 pub const VARIABLE_NAME: &str = "GeodesicTrace G";
12970}
12971
12972pub mod term_sb_1_lhs {
12973 pub const LITERAL_VALUE: &str = "constraints(T₁)";
12975}
12976
12977pub mod term_sb_1_rhs {
12978 pub const LITERAL_VALUE: &str = "⊇ constraints(T₂)";
12980}
12981
12982pub mod term_sb_1_for_all {
12983 pub const VARIABLE_NAME: &str = "TypeInclusion T₁ ≤ T₂";
12985}
12986
12987pub mod term_sb_2_lhs {
12988 pub const LITERAL_VALUE: &str = "resolutions(T₁)";
12990}
12991
12992pub mod term_sb_2_rhs {
12993 pub const LITERAL_VALUE: &str = "⊆ resolutions(T₂)";
12995}
12996
12997pub mod term_sb_2_for_all {
12998 pub const VARIABLE_NAME: &str = "TypeInclusion T₁ ≤ T₂, resolution R";
13000}
13001
13002pub mod term_sb_3_lhs {
13003 pub const LITERAL_VALUE: &str = "N(C(T₂))";
13005}
13006
13007pub mod term_sb_3_rhs {
13008 pub const LITERAL_VALUE: &str = "sub-complex of N(C(T₁))";
13010}
13011
13012pub mod term_sb_3_for_all {
13013 pub const VARIABLE_NAME: &str = "TypeInclusion T₁ ≤ T₂";
13015}
13016
13017pub mod term_sb_4_lhs {
13018 pub const LITERAL_VALUE: &str = "F(T₁)";
13020}
13021
13022pub mod term_sb_4_rhs {
13023 pub const LITERAL_VALUE: &str = "≤ F(T₂)";
13025}
13026
13027pub mod term_sb_4_for_all {
13028 pub const VARIABLE_NAME: &str = "Covariant position F(_), T₁ ≤ T₂";
13030}
13031
13032pub mod term_sb_5_lhs {
13033 pub const LITERAL_VALUE: &str = "F(T₂)";
13035}
13036
13037pub mod term_sb_5_rhs {
13038 pub const LITERAL_VALUE: &str = "≤ F(T₁)";
13040}
13041
13042pub mod term_sb_5_for_all {
13043 pub const VARIABLE_NAME: &str = "Contravariant position F(_), T₁ ≤ T₂";
13045}
13046
13047pub mod term_sb_6_lhs {
13048 pub const LITERAL_VALUE: &str = "latticeDepth";
13050}
13051
13052pub mod term_sb_6_rhs {
13053 pub const LITERAL_VALUE: &str = "n";
13055}
13056
13057pub mod term_sb_6_for_all {
13058 pub const VARIABLE_NAME: &str = "SubtypingLattice at quantum level n";
13060}
13061
13062pub mod term_br_1_lhs {
13063 pub const LITERAL_VALUE: &str = "measureValue(stepMeasurePost(s))";
13065}
13066
13067pub mod term_br_1_rhs {
13068 pub const LITERAL_VALUE: &str = "< measureValue(stepMeasurePre(s))";
13070}
13071
13072pub mod term_br_1_for_all {
13073 pub const VARIABLE_NAME: &str = "RecursiveStep s";
13075}
13076
13077pub mod term_br_2_lhs {
13078 pub const LITERAL_VALUE: &str = "depth(RecursionTrace(R))";
13080}
13081
13082pub mod term_br_2_rhs {
13083 pub const LITERAL_VALUE: &str = "≤ m";
13085}
13086
13087pub mod term_br_2_for_all {
13088 pub const VARIABLE_NAME: &str = "BoundedRecursion R with initialMeasure m";
13090}
13091
13092pub mod term_br_3_lhs {
13093 pub const LITERAL_VALUE: &str = "terminates(R)";
13095}
13096
13097pub mod term_br_3_rhs {
13098 pub const LITERAL_VALUE: &str = "true";
13100}
13101
13102pub mod term_br_3_for_all {
13103 pub const VARIABLE_NAME: &str = "BoundedRecursion R";
13105}
13106
13107pub mod term_br_4_lhs {
13108 pub const LITERAL_VALUE: &str = "initialMeasure(R)";
13110}
13111
13112pub mod term_br_4_rhs {
13113 pub const LITERAL_VALUE: &str = "structuralSize(T)";
13115}
13116
13117pub mod term_br_4_for_all {
13118 pub const VARIABLE_NAME: &str = "StructuralRecursion R on type T";
13120}
13121
13122pub mod term_br_5_lhs {
13123 pub const LITERAL_VALUE: &str = "eval(p, state) = true";
13125}
13126
13127pub mod term_br_5_rhs {
13128 pub const LITERAL_VALUE: &str = "measureValue = 0";
13130}
13131
13132pub mod term_br_5_for_all {
13133 pub const VARIABLE_NAME: &str = "BoundedRecursion R with basePredicate p";
13135}
13136
13137pub mod term_rg_1_lhs {
13138 pub const LITERAL_VALUE: &str = "workingSetRegions(W)";
13140}
13141
13142pub mod term_rg_1_rhs {
13143 pub const LITERAL_VALUE: &str = "computable from N(C(T)) and stage k site targets";
13145}
13146
13147pub mod term_rg_1_for_all {
13148 pub const VARIABLE_NAME: &str = "WorkingSet W for type T at stage k";
13150}
13151
13152pub mod term_rg_2_lhs {
13153 pub const LITERAL_VALUE: &str = "∀ a, b ∈ R: d_R(a, b)";
13155}
13156
13157pub mod term_rg_2_rhs {
13158 pub const LITERAL_VALUE: &str = "≤ diameter(R)";
13160}
13161
13162pub mod term_rg_2_for_all {
13163 pub const VARIABLE_NAME: &str = "AddressRegion R with LocalityMetric d_R";
13165}
13166
13167pub mod term_rg_3_lhs {
13168 pub const LITERAL_VALUE: &str = "Σ workingSetSize(stage_k)";
13170}
13171
13172pub mod term_rg_3_rhs {
13173 pub const LITERAL_VALUE: &str = "≤ totalAddressableSpace(quantumLevel)";
13175}
13176
13177pub mod term_rg_3_for_all {
13178 pub const VARIABLE_NAME: &str = "RegionAllocation A for computation C";
13180}
13181
13182pub mod term_rg_4_lhs {
13183 pub const LITERAL_VALUE: &str = "addresses accessed by resolver at stage k";
13185}
13186
13187pub mod term_rg_4_rhs {
13188 pub const LITERAL_VALUE: &str = "⊆ addresses(W_k)";
13190}
13191
13192pub mod term_rg_4_for_all {
13193 pub const VARIABLE_NAME: &str = "Reduction step k with WorkingSet W_k";
13195}
13196
13197pub mod term_io_1_lhs {
13198 pub const LITERAL_VALUE: &str = "type(resultDatum(e))";
13200}
13201
13202pub mod term_io_1_rhs {
13203 pub const LITERAL_VALUE: &str = "conformsTo(sourceType(s))";
13205}
13206
13207pub mod term_io_1_for_all {
13208 pub const VARIABLE_NAME: &str = "IngestEffect e from Source s";
13210}
13211
13212pub mod term_io_2_lhs {
13213 pub const LITERAL_VALUE: &str = "type(emittedDatum(e))";
13215}
13216
13217pub mod term_io_2_rhs {
13218 pub const LITERAL_VALUE: &str = "conformsTo(sinkType(s))";
13220}
13221
13222pub mod term_io_2_for_all {
13223 pub const VARIABLE_NAME: &str = "EmitEffect e to Sink s";
13225}
13226
13227pub mod term_io_3_lhs {
13228 pub const LITERAL_VALUE: &str = "apply(g, ingest(s))";
13230}
13231
13232pub mod term_io_3_rhs {
13233 pub const LITERAL_VALUE: &str = "Datum in R_n";
13235}
13236
13237pub mod term_io_3_for_all {
13238 pub const VARIABLE_NAME: &str = "Source s with GroundingMap g";
13240}
13241
13242pub mod term_io_4_lhs {
13243 pub const LITERAL_VALUE: &str = "apply(p, d)";
13245}
13246
13247pub mod term_io_4_rhs {
13248 pub const LITERAL_VALUE: &str = "surface symbol conforming to sinkType(s)";
13250}
13251
13252pub mod term_io_4_for_all {
13253 pub const VARIABLE_NAME: &str = "Sink s with ProjectionMap p, Datum d";
13255}
13256
13257pub mod term_io_5_lhs {
13258 pub const LITERAL_VALUE: &str = "effect:effectTarget(e)";
13260}
13261
13262pub mod term_io_5_rhs {
13263 pub const LITERAL_VALUE: &str = "non-empty EffectTarget";
13265}
13266
13267pub mod term_io_5_for_all {
13268 pub const VARIABLE_NAME: &str = "BoundaryEffect e";
13270}
13271
13272pub mod term_ih_1_lhs {
13273 pub const LITERAL_VALUE: &str = "InhabitanceCertificate(T).verified";
13275}
13276
13277pub mod term_ih_1_rhs {
13278 pub const LITERAL_VALUE: &str = "carrier(T) ≠ ∅";
13280}
13281
13282pub mod term_ih_1_for_all {
13283 pub const VARIABLE_NAME: &str = "T : type:ConstrainedType";
13285}
13286
13287pub mod term_ih_2a_lhs {
13288 pub const LITERAL_VALUE: &str = "cost(TwoSatDecider, T)";
13290}
13291
13292pub mod term_ih_2a_rhs {
13293 pub const LITERAL_VALUE: &str = "O(n + m)";
13295}
13296
13297pub mod term_ih_2a_for_all {
13298 pub const VARIABLE_NAME: &str = "T : type:ConstrainedType | Is2SatShape(T)";
13300}
13301
13302pub mod term_ih_2b_lhs {
13303 pub const LITERAL_VALUE: &str = "cost(HornSatDecider, T)";
13305}
13306
13307pub mod term_ih_2b_rhs {
13308 pub const LITERAL_VALUE: &str = "O(n + m)";
13310}
13311
13312pub mod term_ih_2b_for_all {
13313 pub const VARIABLE_NAME: &str = "T : type:ConstrainedType | IsHornShape(T)";
13315}
13316
13317pub mod term_ih_3_lhs {
13318 pub const LITERAL_VALUE: &str = "carrier(reduce(T))";
13320}
13321
13322pub mod term_ih_3_rhs {
13323 pub const LITERAL_VALUE: &str = "carrier(T)";
13325}
13326
13327pub mod term_ih_3_for_all {
13328 pub const VARIABLE_NAME: &str = "T : type:ConstrainedType";
13330}
13331
13332pub mod term_boundary_squared_zero_lhs {
13333 pub const LITERAL_VALUE: &str = "∂_k(∂_{k+1}(c))";
13335}
13336
13337pub mod term_boundary_squared_zero_rhs {
13338 pub const LITERAL_VALUE: &str = "0";
13340}
13341
13342pub mod term_boundary_squared_zero_for_all {
13343 pub const VARIABLE_NAME: &str = "c ∈ C_{k+1}";
13345}
13346
13347pub mod term_psi_4_lhs {
13348 pub const LITERAL_VALUE: &str = "β_k(K)";
13350}
13351
13352pub mod term_psi_4_rhs {
13353 pub const LITERAL_VALUE: &str = "rank(H_k(K))";
13355}
13356
13357pub mod term_psi_4_for_all {
13358 pub const VARIABLE_NAME: &str = "simplicial complex K";
13360}
13361
13362pub mod term_index_bridge_lhs {
13363 pub const LITERAL_VALUE: &str = "χ(K)";
13365}
13366
13367pub mod term_index_bridge_rhs {
13368 pub const LITERAL_VALUE: &str = "Σ_k (-1)^k β_k";
13370}
13371
13372pub mod term_index_bridge_for_all {
13373 pub const VARIABLE_NAME: &str = "finite simplicial complex K";
13375}
13376
13377pub mod term_coboundary_squared_zero_lhs {
13378 pub const LITERAL_VALUE: &str = "δ^{k+1}(δ^k(f))";
13380}
13381
13382pub mod term_coboundary_squared_zero_rhs {
13383 pub const LITERAL_VALUE: &str = "0";
13385}
13386
13387pub mod term_coboundary_squared_zero_for_all {
13388 pub const VARIABLE_NAME: &str = "f ∈ C^k";
13390}
13391
13392pub mod term_de_rham_duality_lhs {
13393 pub const LITERAL_VALUE: &str = "H^k(K; R)";
13395}
13396
13397pub mod term_de_rham_duality_rhs {
13398 pub const LITERAL_VALUE: &str = "Hom(H_k(K), R)";
13400}
13401
13402pub mod term_de_rham_duality_for_all {
13403 pub const VARIABLE_NAME: &str = "simplicial complex K, ring R";
13405}
13406
13407pub mod term_sheaf_cohomology_bridge_lhs {
13408 pub const LITERAL_VALUE: &str = "H^k(K; F_R)";
13410}
13411
13412pub mod term_sheaf_cohomology_bridge_rhs {
13413 pub const LITERAL_VALUE: &str = "H^k(K; R)";
13415}
13416
13417pub mod term_sheaf_cohomology_bridge_for_all {
13418 pub const VARIABLE_NAME: &str = "constant sheaf F_R over K";
13420}
13421
13422pub mod term_local_global_principle_lhs {
13423 pub const LITERAL_VALUE: &str = "H^1(K; F) = 0";
13425}
13426
13427pub mod term_local_global_principle_rhs {
13428 pub const LITERAL_VALUE: &str = "all local sections glue";
13430}
13431
13432pub mod term_local_global_principle_for_all {
13433 pub const VARIABLE_NAME: &str = "sheaf F over K";
13435}