X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=blobdiff_plain;f=hints%2Fassignment_4_hint_2.mdwn;h=f9f4cf253a0b938b2d8a877bad7d90dd7051086e;hp=78cb1bd41f1318724f9168f207868a7eb7914f84;hb=5bda5b5a2df9af3e0b46179854b370819f14ced8;hpb=4cea4f69242f3a229292186c8fa652942f31f8b8;ds=sidebyside diff --git a/hints/assignment_4_hint_2.mdwn b/hints/assignment_4_hint_2.mdwn index 78cb1bd4..f9f4cf25 100644 --- a/hints/assignment_4_hint_2.mdwn +++ b/hints/assignment_4_hint_2.mdwn @@ -1,4 +1,18 @@ -Hints for list\_equal. +Hints for list_equal. + +* If left is [], what does right have to be for left and right to be equal? (Come on, it's not too hard, you can figure it out.) + +* Suppose on the other hand that left has head left_hd and tail left_tl. + +
+
1. If right is then [], are left and right equal? +
2. If right isn't [], and its head isn't equal to left_hd, are left and right equal? +
3. If right isn't [] and its head *is* equal to left_hd, what else has to be the case for left and right to be equal? +
+ +* Can you now write a recursive definition of the list_equal function? +What's your base case? + + + +