This file defines abstract syntax for Cedar expressions.
- lit (p : Prim) : Expr
- var (v : Var) : Expr
- ite (cond thenExpr elseExpr : Expr) : Expr
- and (a b : Expr) : Expr
- or (a b : Expr) : Expr
- unaryApp (op : UnaryOp) (expr : Expr) : Expr
- binaryApp (op : BinaryOp) (a b : Expr) : Expr
- getAttr (expr : Expr) (attr : Attr) : Expr
- hasAttr (expr : Expr) (attr : Attr) : Expr
- set (ls : List Expr) : Expr
- record (map : List (Attr × Expr)) : Expr
- call (xfn : ExtFun) (args : List Expr) : Expr
Instances For
Equations
- Cedar.Spec.instReprVar = { reprPrec := Cedar.Spec.instReprVar.repr }
Equations
- Cedar.Spec.instReprVar.repr Cedar.Spec.Var.principal prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Cedar.Spec.Var.principal")).group prec✝
- Cedar.Spec.instReprVar.repr Cedar.Spec.Var.action prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Cedar.Spec.Var.action")).group prec✝
- Cedar.Spec.instReprVar.repr Cedar.Spec.Var.resource prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Cedar.Spec.Var.resource")).group prec✝
- Cedar.Spec.instReprVar.repr Cedar.Spec.Var.context prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Cedar.Spec.Var.context")).group prec✝
Instances For
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
- Cedar.Spec.instReprUnaryOp.repr Cedar.Spec.UnaryOp.not prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Cedar.Spec.UnaryOp.not")).group prec✝
- Cedar.Spec.instReprUnaryOp.repr Cedar.Spec.UnaryOp.neg prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Cedar.Spec.UnaryOp.neg")).group prec✝
- Cedar.Spec.instReprUnaryOp.repr Cedar.Spec.UnaryOp.isEmpty prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Cedar.Spec.UnaryOp.isEmpty")).group prec✝
Instances For
Equations
- Cedar.Spec.instReprUnaryOp = { reprPrec := Cedar.Spec.instReprUnaryOp.repr }
Equations
- Cedar.Spec.instDecidableEqUnaryOp.decEq Cedar.Spec.UnaryOp.not Cedar.Spec.UnaryOp.not = isTrue ⋯
- Cedar.Spec.instDecidableEqUnaryOp.decEq Cedar.Spec.UnaryOp.not Cedar.Spec.UnaryOp.neg = isFalse Cedar.Spec.instDecidableEqUnaryOp.decEq._proof_1✝
- Cedar.Spec.instDecidableEqUnaryOp.decEq Cedar.Spec.UnaryOp.not Cedar.Spec.UnaryOp.isEmpty = isFalse Cedar.Spec.instDecidableEqUnaryOp.decEq._proof_2✝
- Cedar.Spec.instDecidableEqUnaryOp.decEq Cedar.Spec.UnaryOp.not (Cedar.Spec.UnaryOp.like p) = isFalse ⋯
- Cedar.Spec.instDecidableEqUnaryOp.decEq Cedar.Spec.UnaryOp.not (Cedar.Spec.UnaryOp.is ety) = isFalse ⋯
- Cedar.Spec.instDecidableEqUnaryOp.decEq Cedar.Spec.UnaryOp.neg Cedar.Spec.UnaryOp.not = isFalse Cedar.Spec.instDecidableEqUnaryOp.decEq._proof_5✝
- Cedar.Spec.instDecidableEqUnaryOp.decEq Cedar.Spec.UnaryOp.neg Cedar.Spec.UnaryOp.neg = isTrue ⋯
- Cedar.Spec.instDecidableEqUnaryOp.decEq Cedar.Spec.UnaryOp.neg Cedar.Spec.UnaryOp.isEmpty = isFalse Cedar.Spec.instDecidableEqUnaryOp.decEq._proof_6✝
- Cedar.Spec.instDecidableEqUnaryOp.decEq Cedar.Spec.UnaryOp.neg (Cedar.Spec.UnaryOp.like p) = isFalse ⋯
- Cedar.Spec.instDecidableEqUnaryOp.decEq Cedar.Spec.UnaryOp.neg (Cedar.Spec.UnaryOp.is ety) = isFalse ⋯
- Cedar.Spec.instDecidableEqUnaryOp.decEq Cedar.Spec.UnaryOp.isEmpty Cedar.Spec.UnaryOp.not = isFalse Cedar.Spec.instDecidableEqUnaryOp.decEq._proof_9✝
- Cedar.Spec.instDecidableEqUnaryOp.decEq Cedar.Spec.UnaryOp.isEmpty Cedar.Spec.UnaryOp.neg = isFalse Cedar.Spec.instDecidableEqUnaryOp.decEq._proof_10✝
- Cedar.Spec.instDecidableEqUnaryOp.decEq Cedar.Spec.UnaryOp.isEmpty Cedar.Spec.UnaryOp.isEmpty = isTrue ⋯
- Cedar.Spec.instDecidableEqUnaryOp.decEq Cedar.Spec.UnaryOp.isEmpty (Cedar.Spec.UnaryOp.like p) = isFalse ⋯
- Cedar.Spec.instDecidableEqUnaryOp.decEq Cedar.Spec.UnaryOp.isEmpty (Cedar.Spec.UnaryOp.is ety) = isFalse ⋯
- Cedar.Spec.instDecidableEqUnaryOp.decEq (Cedar.Spec.UnaryOp.like p) Cedar.Spec.UnaryOp.not = isFalse ⋯
- Cedar.Spec.instDecidableEqUnaryOp.decEq (Cedar.Spec.UnaryOp.like p) Cedar.Spec.UnaryOp.neg = isFalse ⋯
- Cedar.Spec.instDecidableEqUnaryOp.decEq (Cedar.Spec.UnaryOp.like p) Cedar.Spec.UnaryOp.isEmpty = isFalse ⋯
- Cedar.Spec.instDecidableEqUnaryOp.decEq (Cedar.Spec.UnaryOp.like a) (Cedar.Spec.UnaryOp.like b) = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
- Cedar.Spec.instDecidableEqUnaryOp.decEq (Cedar.Spec.UnaryOp.like p) (Cedar.Spec.UnaryOp.is ety) = isFalse ⋯
- Cedar.Spec.instDecidableEqUnaryOp.decEq (Cedar.Spec.UnaryOp.is ety) Cedar.Spec.UnaryOp.not = isFalse ⋯
- Cedar.Spec.instDecidableEqUnaryOp.decEq (Cedar.Spec.UnaryOp.is ety) Cedar.Spec.UnaryOp.neg = isFalse ⋯
- Cedar.Spec.instDecidableEqUnaryOp.decEq (Cedar.Spec.UnaryOp.is ety) Cedar.Spec.UnaryOp.isEmpty = isFalse ⋯
- Cedar.Spec.instDecidableEqUnaryOp.decEq (Cedar.Spec.UnaryOp.is ety) (Cedar.Spec.UnaryOp.like p) = isFalse ⋯
- Cedar.Spec.instDecidableEqUnaryOp.decEq (Cedar.Spec.UnaryOp.is a) (Cedar.Spec.UnaryOp.is b) = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
Instances For
Instances For
Equations
Equations
- One or more equations did not get rendered due to their size.
- Cedar.Spec.instReprBinaryOp.repr Cedar.Spec.BinaryOp.eq prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Cedar.Spec.BinaryOp.eq")).group prec✝
- Cedar.Spec.instReprBinaryOp.repr Cedar.Spec.BinaryOp.mem prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Cedar.Spec.BinaryOp.mem")).group prec✝
- Cedar.Spec.instReprBinaryOp.repr Cedar.Spec.BinaryOp.hasTag prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Cedar.Spec.BinaryOp.hasTag")).group prec✝
- Cedar.Spec.instReprBinaryOp.repr Cedar.Spec.BinaryOp.getTag prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Cedar.Spec.BinaryOp.getTag")).group prec✝
- Cedar.Spec.instReprBinaryOp.repr Cedar.Spec.BinaryOp.less prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Cedar.Spec.BinaryOp.less")).group prec✝
- Cedar.Spec.instReprBinaryOp.repr Cedar.Spec.BinaryOp.lessEq prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Cedar.Spec.BinaryOp.lessEq")).group prec✝
- Cedar.Spec.instReprBinaryOp.repr Cedar.Spec.BinaryOp.add prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Cedar.Spec.BinaryOp.add")).group prec✝
- Cedar.Spec.instReprBinaryOp.repr Cedar.Spec.BinaryOp.sub prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Cedar.Spec.BinaryOp.sub")).group prec✝
- Cedar.Spec.instReprBinaryOp.repr Cedar.Spec.BinaryOp.mul prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Cedar.Spec.BinaryOp.mul")).group prec✝
Instances For
Equations
- Cedar.Spec.instReprBinaryOp = { reprPrec := Cedar.Spec.instReprBinaryOp.repr }
Instances For
Equations
Equations
- Cedar.Spec.instReprExpr = { reprPrec := Cedar.Spec.instReprExpr.repr }
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.