- bytesFunc : BytesFunctor
- bytesFunc0 : BytesFunctor.Has Random.SubF
- bytesFunc1 : BytesFunctor.Has Literal.SubF
- bytesFunc2 : BytesFunctor.Has Concat.SubF
- bytesFunc3 : BytesFunctor.Has Hash.SubF
- bytesFunc4 : BytesFunctor.Has Signature.SubF
- bytesFunc5 : BytesFunctor.Has DiffieHellman.SubF
- bytesFunc6 : BytesFunctor.Has KdfExtract.SubF
- bytesFunc7 : BytesFunctor.Has KdfExpand.SubF
- bytesLen : BytesLength
- bytesLen0 : BytesLength.Has Random.SubF.length
- bytesLen1 : BytesLength.Has Literal.SubF.length
- bytesLen2 : BytesLength.Has Concat.SubF.length
- bytesLen3 : BytesLength.Has Hash.SubF.length
- bytesLen4 : BytesLength.Has Signature.SubF.length
- bytesLen5 : BytesLength.Has DiffieHellman.SubF.length
- bytesLen6 : BytesLength.Has KdfExtract.SubF.length
- bytesLen7 : BytesLength.Has KdfExpand.SubF.length
- att : AttackerKnowledge
Instances
- recipient : Participant
- dhPk : Bytes
Instances For
def DY.Example.Ratchet.instDecidableEqTranscriptElement.decEq {inst✝ : HasExecBytes} (x✝ x✝¹ : TranscriptElement) :
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[instance_reducible]
@[reducible, inline]
Instances For
- elem : TranscriptElement
- previousTranscriptHash : Bytes
Instances For
- transcript : Transcript
- recipient : Participant
- transcriptHash : Bytes
- otherDhPk : Bytes
- k : Bytes
Instances For
- transcript : Transcript
- recipient : Participant
- transcriptHash : Bytes
- myDhSk : Bytes
- k : Bytes
Instances For
- SendUpdate [HasExecBytes] (me other : Participant) (transcript : Transcript) (k : Bytes) : RatchetEvent
- ReceiveUpdate [HasExecBytes] (me other : Participant) (transcript : Transcript) (k : Bytes) : RatchetEvent
Instances For
def DY.Example.Ratchet.instDecidableEqRatchetEvent.decEq {inst✝ : HasExecBytes} (x✝ x✝¹ : RatchetEvent) :
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[instance_reducible]
@[instance_reducible]
Equations
- One or more equations did not get rendered due to their size.
theorem DY.Example.Ratchet.Message.IsWellFormed_eq [HasExecBytes] {τ : Sort u_1} (pre : Bytes → τ → Prop) [Comparse.BytesCompatibleTracePred pre] (x : Message) (tr : τ) :
@[instance_reducible]
Equations
- One or more equations did not get rendered due to their size.
theorem DY.Example.Ratchet.TranscriptElement.IsWellFormed_eq [HasExecBytes] {τ : Sort u_1} (pre : Bytes → τ → Prop) [Comparse.BytesCompatibleTracePred pre] (x : TranscriptElement) (tr : τ) :
@[instance_reducible]
Equations
- One or more equations did not get rendered due to their size.
theorem DY.Example.Ratchet.TranscriptHashInput.IsWellFormed_eq [HasExecBytes] {τ : Sort u_1} (pre : Bytes → τ → Prop) [Comparse.BytesCompatibleTracePred pre] (x : TranscriptHashInput) (tr : τ) :
Comparse.IsWellFormed pre x tr = (Comparse.IsWellFormed pre x.elem tr ∧ pre x.previousTranscriptHash tr)
@[instance_reducible]
Equations
- One or more equations did not get rendered due to their size.
theorem DY.Example.Ratchet.SigInput.IsWellFormed_eq [HasExecBytes] {τ : Sort u_1} (pre : Bytes → τ → Prop) [Comparse.BytesCompatibleTracePred pre] (x : SigInput) (tr : τ) :
@[instance_reducible]
Equations
- One or more equations did not get rendered due to their size.
theorem DY.Example.Ratchet.StateMyTurn.IsWellFormed_eq [HasExecBytes] {τ : Sort u_1} (pre : Bytes → τ → Prop) [Comparse.BytesCompatibleTracePred pre] (x : StateMyTurn) (tr : τ) :
Comparse.IsWellFormed pre x tr = ((∀ (elem : TranscriptElement), elem ∈ x.transcript → Comparse.IsWellFormed pre elem tr) ∧ pre x.transcriptHash tr ∧ pre x.otherDhPk tr ∧ pre x.k tr)
@[instance_reducible]
Equations
- One or more equations did not get rendered due to their size.
theorem DY.Example.Ratchet.StateOtherTurn.IsWellFormed_eq [HasExecBytes] {τ : Sort u_1} (pre : Bytes → τ → Prop) [Comparse.BytesCompatibleTracePred pre] (x : StateOtherTurn) (tr : τ) :
Comparse.IsWellFormed pre x tr = ((∀ (elem : TranscriptElement), elem ∈ x.transcript → Comparse.IsWellFormed pre elem tr) ∧ pre x.transcriptHash tr ∧ pre x.myDhSk tr ∧ pre x.k tr)
- traceExec : ExecTraceTypes
- traceExec0 : ExecTraceTypes.Has Network.ExecEntryT
- traceExec1 : ExecTraceTypes.Has Random.ExecEntryT
- traceExec2 : ExecTraceTypes.Has (ProtocolEvent.ExecEntryT RatchetEvent)
- traceExec5 : ExecTraceTypes.Has (LongTermKeys.ExecEntryT "Ratchet PKI")
- attBase : BaseAttackerKnowledge
Instances
Instances For
def DY.Example.Ratchet.computeTranscriptHash [HasExecTrace] (previousTranscriptHash : Bytes) (elem : TranscriptElement) :
Equations
- DY.Example.Ratchet.computeTranscriptHash previousTranscriptHash elem = DY.Hash.hash (DY.Comparse.serialize { elem := elem, previousTranscriptHash := previousTranscriptHash })
Instances For
Equations
- DY.Example.Ratchet.firstKey = DY.Literal.literalToBytes "00000000000000000000000000000000".toByteArray
Instances For
@[instance_reducible]
instance DY.Example.Ratchet.instExecConfigVkBytes_examples [HasExecTrace] :
LongTermKeys.ExecConfig "Ratchet PKI" Signature.vk
Equations
- One or more equations did not get rendered due to their size.
Instances For
def DY.Example.Ratchet.processInitiate [HasExecTrace] (me other : Participant) (otherVerifKeyHandle msgHandle : Nat) :
Equations
- One or more equations did not get rendered due to their size.
Instances For
def DY.Example.Ratchet.sendUpdate [HasExecTrace] (me : Participant) (mySigKeyHandle stHandle : Nat) :
Equations
- One or more equations did not get rendered due to their size.
Instances For
def DY.Example.Ratchet.processUpdate [HasExecTrace] (me : Participant) (otherVerifKeyHandle stHandle msgHandle : Nat) :
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Instances For
Equations
Instances For
def DY.Example.Ratchet.StateCompromised [HasExecTrace] (me : Participant) (transcript : Transcript) (tr : ExecTrace) :
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem DY.Example.Ratchet.StateCompromised_le [HasExecTrace] (me : Participant) (transcript : Transcript) (tr1 tr2 : ExecTrace) :
tr1 ≤ tr2 → StateCompromised me transcript tr1 → StateCompromised me transcript tr2
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- DY.Example.Ratchet.StateMyTurn.compromise.reachability = DY.ReachabilityConfig.make fun (stHandle : Nat) => DY.Example.Ratchet.StateMyTurn.compromise stHandle
Instances For
Equations
- DY.Example.Ratchet.StateOtherTurn.compromise.reachability = DY.ReachabilityConfig.make fun (stHandle : Nat) => DY.Example.Ratchet.StateOtherTurn.compromise stHandle
Instances For
Equations
- DY.Example.Ratchet.reachability.internal 0 = DY.Network.reachability
- DY.Example.Ratchet.reachability.internal 1 = DY.LongTermKeys.reachability "Ratchet PKI"
- DY.Example.Ratchet.reachability.internal 2 = DY.Example.Ratchet.initiate.reachability
- DY.Example.Ratchet.reachability.internal 3 = DY.Example.Ratchet.processInitiate.reachability
- DY.Example.Ratchet.reachability.internal 4 = DY.Example.Ratchet.sendUpdate.reachability
- DY.Example.Ratchet.reachability.internal 5 = DY.Example.Ratchet.processUpdate.reachability
- DY.Example.Ratchet.reachability.internal 6 = DY.Example.Ratchet.StateMyTurn.compromise.reachability
- DY.Example.Ratchet.reachability.internal 7 = DY.Example.Ratchet.StateOtherTurn.compromise.reachability
- DY.Example.Ratchet.reachability.internal ⟨n.succ.succ.succ.succ.succ.succ.succ.succ, isLt⟩ = ⋯.elim
Instances For
@[instance_reducible]