(=>
(and
(instance ?LEAP LeapYear)
(instance ?LEAP
(YearFn ?NUMBER)))
(or
(and
(equal
(RemainderFn ?NUMBER 4) 0)
(not
(equal
(RemainderFn ?NUMBER 100) 0)))
(equal
(RemainderFn ?NUMBER 400) 0))) |
Merge.kif 9203-9211 |
If X is an instance of leap year and X is an instance of the year Y, then equal Y mod 4 and 0 and equal Y mod 100 and 0 or equal Y mod 400 and 0 |
(=>
(and
(instance ?MONTH
(MonthFn February ?YEAR))
(instance ?Y ?YEAR)
(not
(instance ?Y LeapYear)))
(duration ?MONTH
(MeasureFn 28 DayDuration))) |
Merge.kif 9268-9273 |
If X is an instance of the month February, Y is an instance of Z, and Y is not an instance of leap year, then duration of X is 28 day duration(s) |
(=>
(and
(instance ?MONTH
(MonthFn February ?YEAR))
(instance ?Y ?YEAR)
(instance ?Y LeapYear))
(duration ?MONTH
(MeasureFn 29 DayDuration))) |
Merge.kif 9275-9280 |
If X is an instance of the month February, Y is an instance of Z, and Y is an instance of leap year, then duration of X is 29 day duration(s) |
(=>
(and
(instance ?I NonnegativeInteger)
(equal ?I
(NumberOfDaysInMonthFn ?M ?Y))
(equal ?M February)
(instance ?LP LeapYear)
(not
(equal ?Y ?LP)))
(equal ?I 28)) |
Weather.kif 682-691 |
If X is an instance of nonnegative integer, equal X, Number of days in month Y, and year Z, equal Y and February, W is an instance of leap year, and equal Z and W, then equal X and 28 |
(=>
(and
(instance ?I NonnegativeInteger)
(equal ?I
(NumberOfDaysInMonthFn ?M ?Y))
(equal ?M February)
(instance ?LP LeapYear)
(equal ?Y ?LP))
(equal ?I 29)) |
Weather.kif 693-701 |
If X is an instance of nonnegative integer, equal X, Number of days in month Y, and year Z, equal Y and February, W is an instance of leap year, and equal Z and W, then equal X and 29 |