SCIFRBool

‘scifrbool’ Dialect

Cornami SCIFR Boolean dialect for FHE Applications.

SCIFRBool types

SCIFRBoolBootstrapKeyType

The key required to perform Bootstrap operation in SCIFRBool.

Syntax: !scifrbool.bootstrap_key

SCIFRBoolKeySwitchKeyType

The key required to perform Keyswitch operation in SCIFRBool.

Syntax: !scifrbool.key_switch_key

SCIFRBoolServerParametersType

The server parameters required to map to cornami hardware in SCIFRBool.

Syntax: !scifrbool.server_parameters

SCIFRBool ops

scifrbool.and (cornami::scifrbool::AndOp)

Logical AND of two ciphertexts.

Syntax:

operation ::= `scifrbool.and` operands attr-dict `:` qualified(type($output))

Traits: AlwaysSpeculatableImplTrait, Commutative, SameOperandsAndResultType

Interfaces: ConditionallySpeculatable, InferTypeOpInterface, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Operands:

OperandDescription
lhsA ciphertext type
rhsA ciphertext type

Results:

ResultDescription
outputA ciphertext type

scifrbool.nand (cornami::scifrbool::NandOp)

Logical NAND of two ciphertexts.

Syntax:

operation ::= `scifrbool.nand` operands attr-dict `:` qualified(type($output))

Traits: AlwaysSpeculatableImplTrait, Commutative, SameOperandsAndResultType

Interfaces: ConditionallySpeculatable, InferTypeOpInterface, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Operands:

OperandDescription
lhsA ciphertext type
rhsA ciphertext type

Results:

ResultDescription
outputA ciphertext type

scifrbool.nor (cornami::scifrbool::NorOp)

Logical NOR of two ciphertexts.

Syntax:

operation ::= `scifrbool.nor` operands attr-dict `:` qualified(type($output))

Traits: AlwaysSpeculatableImplTrait, Commutative, SameOperandsAndResultType

Interfaces: ConditionallySpeculatable, InferTypeOpInterface, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Operands:

OperandDescription
lhsA ciphertext type
rhsA ciphertext type

Results:

ResultDescription
outputA ciphertext type

scifrbool.not (cornami::scifrbool::NotOp)

Logical NOT of two ciphertexts

Syntax:

operation ::= `scifrbool.not` operands attr-dict `:` qualified(type($output))

Traits: AlwaysSpeculatableImplTrait, Involution, SameOperandsAndResultType

Interfaces: ConditionallySpeculatable, InferTypeOpInterface, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Operands:

OperandDescription
inputA ciphertext type

Results:

ResultDescription
outputA ciphertext type

scifrbool.or (cornami::scifrbool::OrOp)

Logical OR of two ciphertexts.

Syntax:

operation ::= `scifrbool.or` operands attr-dict `:` qualified(type($output))

Traits: AlwaysSpeculatableImplTrait, Commutative, SameOperandsAndResultType

Interfaces: ConditionallySpeculatable, InferTypeOpInterface, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Operands:

OperandDescription
lhsA ciphertext type
rhsA ciphertext type

Results:

ResultDescription
outputA ciphertext type

scifrbool.section (cornami::scifrbool::SectionOp)

Wraps a single operation

Syntax:

operation ::= `scifrbool.section` `(` operands `)` $body attr-dict `:` functional-type(operands, results)

Section op is intended to handle kernel outlining, move kernels of instructions. Section contains the code scheduled to Fractal Array.

Traits: NoTerminator

Operands:

OperandDescription
inputvariadic of any type

Results:

ResultDescription
outputvariadic of any type

scifrbool.xnor (cornami::scifrbool::XNorOp)

Logical XNOR of two ciphertexts.

Syntax:

operation ::= `scifrbool.xnor` operands attr-dict `:` qualified(type($output))

Traits: AlwaysSpeculatableImplTrait, Commutative, SameOperandsAndResultType

Interfaces: ConditionallySpeculatable, InferTypeOpInterface, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Operands:

OperandDescription
lhsA ciphertext type
rhsA ciphertext type

Results:

ResultDescription
outputA ciphertext type

scifrbool.xor (cornami::scifrbool::XorOp)

Logical XOR of two ciphertexts.

Syntax:

operation ::= `scifrbool.xor` operands attr-dict `:` qualified(type($output))

Traits: AlwaysSpeculatableImplTrait, Commutative, SameOperandsAndResultType

Interfaces: ConditionallySpeculatable, InferTypeOpInterface, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Operands:

OperandDescription
lhsA ciphertext type
rhsA ciphertext type

Results:

ResultDescription
outputA ciphertext type