**G(x_1, x_2, x_3, ..., x_n-1) = F(a, x_1, x_2, x_3, ..., x_n-1)**(in case of Fix-first-parameter function),

**G(x_1, x_2, x_3, ..., x_n-1) = F(x_1, a, x_2, x_3, ..., x_n-1)**(in case of Fix-second-parameter function).

For example:

1.

Code: Select all

```
(define function1 (lambda (x y z) (+ x (* 2 y) (* 3 z))))
(display ((Fix-first-parameter function1 1) 2 3))
```

Code: Select all

`14`

Code: Select all

```
(define function1 (lambda (x y z) (+ x (* 2 y) (* 3 z))))
(display ((Fix-second-parameter function1 1) 2 3 ))
```

Code: Select all

`13`

Code: Select all

```
(define function2 (lambda (x y z s) (cons (+ x (* 2 y)) (+ z (* 4 s)))))
(display ((Fix-second-parameter function2 2) 1 3 2))
```

Code: Select all

`(5 . 11)`

Very important is fact, that arguments x_1, ..., x_n-1 are given not as a list by directly. I don't know how to extract (currying?) them and write a function that will work properly on the examples given above. I hope that some of you will help me.