### Length in Logic

This problem uses the Logic starter file located here.

Write facts to define `length`

. You may use anything already included in the starter file as well as other facts defined in previous questions.

```
(fact (length ; YOUR CODE HERE ))
(query (length (1 2 3) 3))
; expect Success!
(query (length (1 2 3 4 5) ?length))
; expect Success! ; length: 5
```

```
(fact (length () 0))
(fact (length (?first . ?rest) ?num)
(increment ?some-num ?num)
(length ?rest ?some-num))
```

First we define our base fact. The length of the empty list is 0. Then, in our recursive fact, we break up the list into `first`

and `rest`

. The length of the entire list is the length of the `rest`

incremented by 1. So, we create a temporary variable `some-num`

that relates the length of the `rest`

with the length of the entire list.

I don't claim to be perfect so if you find an error on this page, please send me an email preferably with a link to this page so that I know what I need to fix!