# A complex family calculus

I spent the other night at a relative's house, and I was woken the next morning by my young niece who politely asked me to make her breakfast. (Her technique for waking me up is to come in and call my name. If the door is closed, she pounds on the bedroom door and shouts, "Wake up! Wake up!" If I fail to open the door, she opens it herself. If the door is locked, she jiggles the handle until she forces the door open. I just leave the door open now. Making the best of a bad situation.)

Anyway, later that morning, the following conversation took place between my niece and an adult family member (which conversation I have taken the liberty of translating into English):

"Why did you wake up Uncle Raymond?"

I wanted cereal for breakfast.

Mommy was still sleeping.

Tags

1. roastbeef says:

Smart girl… She’s gotta deal with her mother everyday. So if you’re going to upset someones sleep, better to make it the interloper.

2. Cheong says:

That leaves the question: When did Raymond’s niece woke him up?

Most of the Chinese mothers wake up quite early…

3. Cheong says:

Answering question from tgrand from the linked page: In the past, women used to name their husband "丈人". So using "丈" as suffix means "the husband of ~".

That’s why you see "姑丈" and "姨丈".

4. I don’t think the calculus is so difficult. If you axiomatize it as:

If Mom is sleeping, don’t wake her up

Adults can make cereal if they are not sleeping

Mom is sleeping.

Uncle Raymond is sleeping.

Put that into a Prolog program (or an inductive Prolog program), with goal "Get Cereal" and I think  we can see what the answer will be :)

5. Boronx says:

You got to nip that in the bud.  First thing a kid needs to learn is to let adults sleep.

You’re the uncle, take charge.

6. Eric TF Bat says:

@Boronx: in my house, when the kids get up, the adults get up.  What, you want to leave those chaosbeasts to roam the house uninterrupted?  That way lies pumpkin-seed-covered kitchen floors and partially disassembled laptop keyboards…

7. Nancy says:

In the past month, I’ve trained my kids (7,4,4) to go and turn on the TV with the sound almost off come or to snuggle with me but they have to let me sleep.  The 7 yr old will tattle if anything bad happens.

It is glorious.

8. @Larry Watanabe: Sorry, but I couldn’t resist….

\$ gprolog

GNU Prolog 1.3.1

By Daniel Diaz

| ?- [user].

compiling user for byte code…

sleeping(mom).

sleeping(raymond).

wakeable(mom) :- !, fail.

wakeable(X) :- sleeping(X).

user compiled, 9 lines read – 1520 bytes written, 134773 ms

(3 ms) yes

| ?- get_cereal(Actions).

yes

9. Ahmed Charles says:

I still don’t understand Prolog, but it is obviously useful.

10. Worf says:

Given that time has elapsed since then (a year and a half to two or more), what does your niece say about that incident now Raymond?

[This particular story jumped the queue. The incident took place only a few months ago. Even if the incident was two years ago, my niece would likely say “I don’t remember that.” -Raymond]
11. Mike says:

What? She takes the time to call out your name? How delightfully polite!

At age four my daughter would come into the bedroom, walk up the bed, get her face about two inches from mine, pry open my nearest available eyelid, and ask “Are you awake?”

It’s a hell of a way to get woken…

12. Anonymous Coward says:

And I thought this happened only in VNs.

13. PhantomLord says:

Could we see the untranslated conversation in Chinese characters please?

[Even the English conversation was not a word-for-word transcription. Translate it any way you like. -Raymond]
14. GreenReaper says:

I found Prolog a very rude language – I asked it for help, and it said "no".

15. Dale says:

"Mommy was still sleeping."

Considerate kid, she’ll go far.

16. @Jonathan Rascher

Thanks for writing the program, I understand Prolog concepts (having written a number of logic interpreters) but haven’t actually used it much …

If 2 year olds are finite state machines (Raymond’s earlier post) I guess 5 year olds have progressed at least to the level of prolog interpreters.