Nhân hai số có thể được định nghĩa theo thuật toán như sau: 'thêm số đầu tiên vào chính nó một số lần bằng giá trị của số thứ hai'. Số mũ lũy thừa của hai số có thể được định nghĩa theo thuật toán như sau: 'nhân số đầu tiên với chính nó một số lần bằng giá trị của số thứ hai'. Suy nghĩ về những định nghĩa về phép nhân và lũy thừa này đặt ra một số câu hỏi ...Tổng quát toán tử số học
Thứ nhất, một lớp hoạt động số học có thể được xác định bằng cách bắt đầu bổ sung làm hoạt động cơ bản? Tôi đã viết lên một số mã Haskell để kiểm tra rằng ý tưởng:
order1 x y = x + y
order2 x y = foldl (order1) x (replicate (y - 1) x)
order3 x y = foldl (order2) x (replicate (y - 1) x)
order4 x y = foldl (order3) x (replicate (y - 1) x)
order5 x y = foldl (order4) x (replicate (y - 1) x)
đủ Chắc chắn, ý nghĩa của 'order2' là nhân và ý nghĩa của 'order3' là lũy thừa. Ngôn ngữ tiếng Anh, theo như tôi biết, thiếu từ 'orderN' trong đó N> 3. Cộng đồng toán học có điều gì thú vị để nói về các hoạt động này không?
Ngoài ra, với sự xuất hiện đệ quy trong những chức năng 'trật tự', làm thế nào người ta có thể viết một hàm như thế này:
generalArithmetic :: Int -> Int -> Int -> Int
generalArithmetic n x y = --Comment: what to put here?
đó có nghĩa là nhân khi n bằng 2, có nghĩa lũy thừa khi n bằng 3 ... ?
Ngoài ra, làm cách nào để tổng quát hóa các hàm số học này để chúng có thể hoạt động trên tất cả các số thực? Kiểu 'tái tạo' là, sau khi tất cả, Int -> a -> [a].
http://en.wikipedia.org/wiki/Tetration –
Khái niệm chung là [hyperoperation ] (http://en.wikipedia.org/wiki/Hyperoperation). – leftaroundabout
Phép nhân/lũy thừa các số ** tự nhiên ** có thể được định nghĩa là các ứng dụng lặp lại của thao tác "thứ tự thấp hơn". Thật khó để nói những gì nó có nghĩa là để giải thích "x^-7,6" là "nhân x của chính nó -7,6 lần". – Ben