MAY
Creates a permission for a party to perform an action. The party is allowed but not required to act.
Syntax
PARTY partyName MAY action
PARTY partyName MAY action WITHIN deadline
PARTY partyName MAY action WITHIN deadline HENCE consequence
PARTY partyName MAY action WITHIN deadline HENCE consequence LEST alternative
(MAY DO action is also accepted; the DO is optional.)
Purpose
MAY expresses a legal permission - something a party is allowed to do. Unlike obligations (MUST), permissions are optional: not exercising a MAY is never a breach.
Typical legal uses include early-termination rights, options to renew or extend, prepayment rights, conversion rights, and put/call options.
Examples
Example file:
-- MAY Keyword Examples - Permissions and Options in Contracts
--
-- The MAY keyword expresses permissions, rights, and options - actions that a
-- party is permitted (but not required) to perform. Unlike MUST (obligation),
-- MAY creates no duty, and failure to exercise a MAY right is not a breach.
--
-- Key Concepts:
-- • MAY creates a permission or option to perform an action
-- • WITHIN specifies the time period during which the option can be exercised
-- • HENCE specifies what happens if the option IS exercised
-- • LEST specifies what happens if the option is NOT exercised
-- • Unlike MUST, not exercising a MAY option is never a breach
--
-- Common Legal Uses:
-- • Early termination rights (lease agreements, employment contracts)
-- • Extension options (option to renew, extend deadlines)
-- • Prepayment rights (loan agreements)
-- • Redemption rights (securities, convertible notes)
-- • Put/call options (shareholder agreements)
-- • Rights of first refusal
--
-- This file demonstrates typical permission patterns found in:
-- • Commercial contracts
-- • Lease agreements
-- • Loan agreements
-- • Employment contracts
-- • Shareholder agreements
--
-- Type Declarations
DECLARE `Contract Party` IS ONE OF
`The Lender`
`The Borrower`
`The Tenant`
`The Landlord`
`The Investor`
`The Company`
`The Buyer`
`The Seller`
DECLARE `Contract Action` IS ONE OF
`prepay loan` HAS `prepayment amount` IS A NUMBER
`extend lease` HAS `extension months` IS A NUMBER
`claim warranty benefit` HAS `benefit description` IS A STRING
`convert to equity` HAS `conversion amount` IS A NUMBER
`exercise put option` HAS `share quantity` IS A NUMBER
`terminate early`
`demand acceleration`
`make payment` HAS `payment amount` IS A NUMBER
-- Basic Permission (Prepayment Right)
-- Simple prepayment right in a loan agreement
-- The Borrower may prepay the loan in full within the first year without penalty
`prepayment option` MEANS
PARTY `The Borrower`
MAY `prepay loan` 100000
WITHIN 365
-- Permission After Obligation (Warranty Claim)
-- Purchase contract: After payment, buyer may claim warranty benefits
-- This is common in consumer protection and sale of goods contracts
`purchase with warranty` MEANS
PARTY `The Buyer`
MUST `make payment` 5000
WITHIN 7
HENCE
PARTY `The Buyer`
MAY `claim warranty benefit` "extended warranty coverage"
WITHIN 365
-- Renewable Option (Lease Extension)
-- Lease renewal option: If tenant extends once, they get another option
-- Common in commercial real estate leases
`first renewal option` MEANS
PARTY `The Tenant`
MAY `extend lease` 12 -- First 12-month extension
WITHIN 60 -- Must notify 60 days before expiry
HENCE
PARTY `The Tenant`
MAY `extend lease` 12 -- Second 12-month extension available
WITHIN 60
-- Remedial Permission (Acceleration Clause)
-- If borrower breaches, lender may demand full repayment immediately
-- Standard clause in loan agreements to protect lender
`payment with acceleration right` MEANS
PARTY `The Borrower`
MUST `make payment` 10000
WITHIN 30
LEST
PARTY `The Lender`
MAY `demand acceleration` -- Full loan becomes due immediately
WITHIN 14
-- Convertible Note Option
-- Investor may convert their note to equity at any time
-- Common in startup financing and convertible instruments
`conversion option` MEANS
PARTY `The Investor`
MAY `convert to equity` 500000
WITHIN 730 -- 2-year window
-- Put Option (Shareholder Agreement)
-- Shareholder may require the company to buy back shares
-- Common in private company shareholder agreements
`shareholder put option` MEANS
PARTY `The Investor`
MAY `exercise put option` 100000 -- 100,000 shares
WITHIN 1825 -- 5-year window
-- Early Termination Right
-- Tenant may terminate lease early with notice
-- Common in residential and commercial leases
`early termination clause` MEANS
PARTY `The Tenant`
MAY `terminate early`
WITHIN 180 -- Can terminate within first 6 months
HENCE FULFILLED
LEST FULFILLED -- If not exercised, lease continues normally
-- Chained Permissions
-- After payment, buyer may claim warranty; if claimed, seller must service
-- Demonstrates how permissions can trigger subsequent obligations
`warranty claim process` MEANS
PARTY `The Buyer`
MUST `make payment` 25000
WITHIN 14
HENCE
PARTY `The Buyer`
MAY `claim warranty benefit` "defect repair"
WITHIN 730 -- 2-year warranty period
HENCE
PARTY `The Seller`
MUST `make payment` 5000 -- Seller must cover repair costs
WITHIN 30
-- Testing Permissions
-- Test 1: Prepayment option exercised
#TRACE `prepayment option` AT 0 WITH
PARTY `The Borrower` DOES `prepay loan` 100000 AT 180
-- Test 2: Prepayment option not exercised (valid - no breach)
#TRACE `prepayment option` AT 0 WITH
-- Test 3: Purchase with warranty - full path
#TRACE `purchase with warranty` AT 0 WITH
PARTY `The Buyer` DOES `make payment` 5000 AT 5
PARTY `The Buyer` DOES `claim warranty benefit` "extended warranty coverage" AT 100
-- Test 4: Purchase with warranty - payment but no claim
#TRACE `purchase with warranty` AT 0 WITH
PARTY `The Buyer` DOES `make payment` 5000 AT 5
-- Test 5: Lease renewal - first extension exercised
#TRACE `first renewal option` AT 0 WITH
PARTY `The Tenant` DOES `extend lease` 12 AT 30
-- Test 6: Lease renewal - both extensions exercised
#TRACE `first renewal option` AT 0 WITH
PARTY `The Tenant` DOES `extend lease` 12 AT 30
PARTY `The Tenant` DOES `extend lease` 12 AT 90
-- Test 7: Acceleration right triggered by breach
#TRACE `payment with acceleration right` AT 0 WITH
PARTY `The Lender` DOES `demand acceleration` AT 35
-- Test 8: Acceleration right not needed (payment made)
#TRACE `payment with acceleration right` AT 0 WITH
PARTY `The Borrower` DOES `make payment` 10000 AT 20
-- Test 9: Conversion option exercised
#TRACE `conversion option` AT 0 WITH
PARTY `The Investor` DOES `convert to equity` 500000 AT 365
-- Test 10: Put option exercised
#TRACE `shareholder put option` AT 0 WITH
PARTY `The Investor` DOES `exercise put option` 100000 AT 1000
-- Test 11: Early termination exercised
#TRACE `early termination clause` AT 0 WITH
PARTY `The Tenant` DOES `terminate early` AT 90
-- Test 12: Early termination not exercised
#TRACE `early termination clause` AT 0 WITH
-- Test 13: Warranty claim process - complete workflow
#TRACE `warranty claim process` AT 0 WITH
PARTY `The Buyer` DOES `make payment` 25000 AT 7
PARTY `The Buyer` DOES `claim warranty benefit` "defect repair" AT 200
PARTY `The Seller` DOES `make payment` 5000 AT 220
Basic Permission
DECLARE `Contract Party` IS ONE OF `The Lender`, `The Borrower`
DECLARE `Contract Action` IS ONE OF
`prepay loan` HAS `prepayment amount` IS A NUMBER
-- The Borrower may prepay the loan within the first year
`prepayment option` MEANS
PARTY `The Borrower`
MAY `prepay loan` 100000
WITHIN 365
Permission Chained After an Obligation
`purchase with warranty` MEANS
PARTY `The Buyer`
MUST `make payment` 5000
WITHIN 7
HENCE
PARTY `The Buyer`
MAY `claim warranty benefit` "extended warranty coverage"
WITHIN 365
Permission That Triggers a New Obligation
If the buyer exercises the warranty claim, the seller becomes obliged to act:
`warranty claim process` MEANS
PARTY `The Buyer`
MAY `claim warranty benefit` "defect repair"
WITHIN 730
HENCE
PARTY `The Seller`
MUST `repair the defect`
WITHIN 30
Permission Semantics
- Permission is exercised when the party performs the action: the HENCE branch (default
FULFILLED) continues the contract. - Permission expires when the deadline passes without action: the LEST branch runs, and it defaults to
FULFILLED(notBREACH). - Neither exercising nor not exercising a permission causes breach by itself. A breach can only arise from obligations reached via HENCE/LEST.
Testing
-- Exercised
#TRACE `prepayment option` AT 0 WITH
PARTY `The Borrower` DOES `prepay loan` 100000 AT 180
-- Not exercised - still no breach
#TRACE `prepayment option` AT 0 WITH
Pitfalls
- Expecting breach on expiry. An unexercised MAY silently fulfills (LEST defaults to
FULFILLED). If inaction should have consequences, attach an explicit LEST branch. - Confusing MAY with DO.
DOexpresses bare optionality and has no default HENCE/LEST branches; MAY defaults both toFULFILLED. - Forgetting the deadline. A MAY without WITHIN never expires within the trace, which can keep a contract from reaching a terminal state.
Related Keywords
- PARTY - Identifies who has the permission
- MUST - Obligation (required action)
- SHANT - Prohibition (forbidden action)
- DEONTIC - The type of regulative rules
- REGULATIVE - Full regulative rule reference (HENCE, LEST, WITHIN defaults)